2017-11-05 3 views
0

내가CrudRepository @query 방법

@Query("select c from CarDO c where c.manufacturer=:manufacturer") 

것이 가능 다음 실행하려면 지금 경우 model

@Query("select c from CarDO c where c.manufacturer=:manufacturer and c.model=:model") 
List<CarDO> findAllByProperty(@Param("manufacturer") String manufacturer, 
       @Param("model") String model); 

을 다음과 같은 코드가 null이 선택적 필드 관리 할 수 ​​?? 그렇다면 어떻게?

+0

일부 필드가 null 인 경우 where 절로 "c.model IS NULL"을 넣습니다. 기본 JPQL – DN1

답변

0

아니요 지금은 불가능합니다. 대답 this을 확인하십시오.

그러나 대체 방법은 is null입니다.

업데이트와 같은 쿼리가 너무

@Query("select c from CarDO c where (c.manufacturer is null or c.manufacturer = :manufacturer) and (c.model is null or c.model=:model) ") 
List<CarDO> findAllByProperty(@Param("manufacturer") String manufacturer, @Param("model") String model); 

희망이 도움이됩니다.

+0

쿼리 dsl에 대한 새로운 리소스가 있습니까? 또는 이것을 달성하기위한 다른 방법? – user2729183

+0

['CriteriaQuery'] (https://spring.io/blog/2011/04/26/advanced-spring-data-jpa-specifications-and-querydsl/)를 사용할 수 있습니다. –

관련 문제