1
找到我想要進行這樣的查詢:許多列
SELECT * FROM table WHERE
col1 = 'value1' OR
col2 = 'value2' OR
col3 = 'value3' OR
col4 = 'value4';
使用Spring的JpaRepository
我應該使用這樣的事情:
List<MyEntity> findByCol1OrCol2OrCol3OrCol4(
String col1, String col2, String col3, String col4
);
現在想象一下,我不想檢查4列但10或20,方法名稱會很長!
我在這個answer中看到我可以用Specification
在許多列中搜索相同的文本,但是我希望每個文本都有不同的文本值。
有什麼辦法可以縮短查找方法並動態地添加列(和相應的值)?
謝謝
簡短回答爲否(用於'或'連接)。您可以使用QueryDSL支持動態構建查詢。 – manish
您可以使用標準和查詢。存儲庫對於這裏指定的複雜查詢來說並不是那麼有用。http://stackoverflow.com/questions/17008947/whats-the-difference-between-spring-datas-mongotemplate-and-mongorepository – KayV
似乎支持'OR'通過'Example's API即將推出匹配。您可能想要追蹤[此Spring Data JIRA](https://jira.spring.io/browse/DATAJPA-1025)以獲取發佈信息。 – manish