2013-10-01 2 views
5

Я создал весенне-данных JPA хранилище для моей модели домена Student, и я хочу, чтобы создать более сложный запрос, что-то вроде этого:Spring Создание сложных данных запроса

 
List findBySchoolAndLastNameLikeOrId(School s); 

Моя проблема заключается в том, как я могу определите круглые скобки между предложениями where. Я имею в виду, то запрос будет выполнен, как этот

 
List findBy(SchoolAndLastNameLike)OrId 

или как этот

 
List findBySchoolAnd(LastNameLikeOrId) 

И как я могу поставить скобки, где я хочу или создать еще более сложные запросы? Пожалуйста, не отвечайте мне с помощью пользовательских реализаций репозитория или использования аннотации @Query. Я хочу знать, может ли то, что я хотел бы сделать, определить этот сложный запрос с помощью имени метода.

TIA!

ответ

9

Вкратце: вы не можете. Механизм вывода запроса ориентирован на простые варианты использования. Для более сложных запросов используйте @Query или определите запрос с именем JPA.

+0

Не могли бы вы хотя бы объяснить, как будет выглядеть вышеперечисленное ('' 'findBySchoolAndLastNameLikeOrId''')? – Serafeim

+0

Вы уже задокументировали, как он в данный момент запущен в вашем вопросе: 'и' связывает сильнее, чем 'или'. Таким образом, это будет «List FindBy (SchoolAndLastNameLike) OrId' эффективно. –

+0

Ну ладно ... вот что я подумал :( – Serafeim

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