本文介紹了Spring數據存儲庫-查找列表中的位置字段的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在嘗試將SpringPagingAndSortingRepository
與find MyEntity where field in fieldValues
查詢一起使用,如下所示:
@Repository
public interface MyEntity extends PagingAndSortingRepository<MyEntity, String> {
List<MyEntity> findByMyField(Set<String> myField);
}
但沒有成功。
我期望上面的函數返回其字段與其中一個字段值匹配的所有實體,但它只返回空結果。
盡管這似乎是一種非常直接的能力,但我在docs中找不到任何關于它的引用。
是否/如何實現這一目標?
謝謝。
推薦答案
如果您正在搜索實體中的特定字段,并且希望返回與某個集合中的至少一個條目匹配的所有字段的列表,則這確實是可能的。文檔here說這可以使用關鍵字In
示例:findByAgeIn(Collection<Age> ages)
來實現,并且相當于… where x.age in ?1
從您的帖子來看,我不能100%確定這是否是您想要的用例,但請試一試。您需要搜索特定的字段,因此請將‘field’替換為您要搜索的任何字段。如果要在多個字段上進行搜索,則可以將結果與Or
關鍵字連接在一起,并以這種方式指定多個字段。
@Repository
public interface MyEntity extends PagingAndSortingRepository<MyEntity, String> {
List<MyEntity> findByFieldIn(Set<String> myField);
}
這篇關于Spring數據存儲庫-查找列表中的位置字段的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,