2016-02-16 3 views
0
public interface ItemRepository extends JpaRepository<Item, Integer> { 
    List<Item> findByNameAndDescriptionIsNullOrDescription(String name, String desc); 
} 

В родном запросе where условие findByNameAndDescriptionIsNullOrDescription переводится наquerydsl оператор JPA весной данных старшинство

where item0_.NAME=? and (item0_.DESC is null) or item0_.DESC=? 

мне нужно иметь where item0_.NAME=? and (item0_.DESC is null or item0_.DESC=?)

Я использую следующий

  • весна-данные-Обще-1.6.3.RELEASE.jar

  • весенне-данных JPA-1.4.3.RELEASE.jar

  • (я) спящий режим-EntityManager-4.2.14.SP1- RedHat-1.jar, (б) зимует-JPA-2,0-апи-1.0.1.Final-RedHat-2.jar предлагаемого JBOSS EAP 6.3

+0

и релевантность QueryDSL на этот вопрос? Собственный запрос будет SQL-запросом. –

ответ

0

Вероятно, вы не можете сделать это.

Spring Data querydsl используется только для простых SQL-запросов, и если вам нужно что-то более сложное, используйте аннотацию @Query.

Также было бы проще, если другие разработчики поймут, какой запрос вы написали, вместо анализа имени метода.

0

Что необходимо добавить 2-й аргумент DESC .. Просто используйте ниже:

Список findByNameAndDescription (имя String, String убывание);

Даже если u передаст аргумент desc null, вы получите желаемые результаты.

+0

См. Http://stackoverflow.com/questions/6325213/how-to-query-a-column-which-value-is-null-in-jpa –

Смежные вопросы