복붙노트

[SPRING] 데이터 JPA. 예제 별 쿼리. Long 값을 사용하여 검색 할 수 없습니다.

SPRING

데이터 JPA. 예제 별 쿼리. Long 값을 사용하여 검색 할 수 없습니다.

엔티티 제품이 있습니다.

@Entity
@Table(name = "Products")
public class ProductEntity implements Serializable{
    @Id
    @GenericGenerator(name = "generator", strategy = "increment")
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Long id;
    @Column(name = "model", nullable = false)
    private String model;
    //setters and getters
}

여기 예제를 통해 쿼리하는 방법 :

ProductEntity product = new ProductEntity();
product.setId(productId);
Example<ProductEntity> ex = Example.of(product);
Page<ProductEntity> pages = productRepository.findAll(ex, page);

하지만 PostgreSQL 오류가 발생합니다. PSQLException : 오류 : "L"또는 근처에 구문 오류가 있습니다.

다음은 생성 된 쿼리입니다.

Hibernate: select productent0_.id as id1_13_, productent0_.brand_id as brand_id9_13_, productent0_.imgPath as imgPath2_13_, productent0_.model as model3_13_, productent0_.numberOfEvaluation as numberOf4_13_, productent0_.priceBuy as priceBuy5_13_, productent0_.priceSell as priceSel6_13_, productent0_.rating as rating7_13_, productent0_.sumOfEvaluation as sumOfEva8_13_, productent0_.type_id as type_id10_13_ from Products productent0_ where (productent0_.id=1L ) limit ?

구문 오류는 다음과 같습니다.

where (productent0_.id=1L )

Long 값에 'L'문자를 추가합니다. 그렇다면이 문제를 어떻게 해결할 수 있습니까?

최신 정보: 어떤 idies? 아직도이 문제를 해결할 수 없습니다.

업데이트 : 내 저장소 :

public interface CrudProductRepository extends JpaRepository<ProductEntity, Long>{
}

JpaRepository 패키지 :

import org.springframework.data.jpa.repository.JpaRepository;

해결법

    from https://stackoverflow.com/questions/49705815/data-jpa-query-by-example-cant-search-using-long-value by cc-by-sa and MIT license