Можно ли добавить условие с помощью стандартных методов интерфейса данных Spring? - PullRequest
0 голосов
/ 05 декабря 2018

Могу ли я добавить условие к предоставленному методу интерфейса, например "findAll" для данных пружины?Например, если в таблице есть столбцы «имя» и «удалено», я могу создать запрос как findByNameAndDeletedIsNull, который даст все имена, которые не были удалены.Я попытался "findAllAndDeletedIsNull", но это не работает - это возможно?Я знаю, что этого можно добиться с помощью @query, но было любопытно, как мы можем дополнить стандартные методы условиями.

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Вы можете сделать "findByDeletedIsNull"

См. здесь для получения дополнительной информации о том, какие ключевые слова могут использоваться в имени метода.

0 голосов
/ 05 декабря 2018

Согласно документации, существует конкретный способ присвоения имени методу метода для его анализа в правильном SQL.Посмотрите на этот раздел: Ссылка JPA на данные Spring - запрос .

Если у вас есть готовый запрос, вы можете легко перепроектировать, какое имя метода может помочь вам получить тот же результат.Вы можете составить довольно сложные запросы, создавая из этих фундаментальных блоков.Однако вы не можете просто создать строковое представление предложения where в качестве именованного метода.

Из документа, если вы хотите получить все записи, в которых поле имеет значение null:

IsNull  |   findByAgeIsNull  | … where x.age is null

будет означать имя метода, например findByDeletedIsNull .

...