亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Spring Boot:JPA 支持的關鍵字

Spring Boot:JPA 支持的關鍵字

達令說 2023-08-04 15:21:56
我想要執行 Spring JPA 存儲庫,其中想要在兩列之間應用 and 操作,其中一個列云中有多個值。相同的 SQL 查詢:select * from table_name where col1='col1_val' and col2 IN ('col2_val_a','col2_val_b','col2_val_c');我知道對于 和 操作,我可以擴展 JpaRepository 并創建方法,如下所示:List<MyPoJoObject> findByCol1AndCol2(String col1_val,String col2_val);對于 IN 操作,我們可以使用:findByCol2In(Collection<String> col2_val)但我不知道如何按照我之前提到的 sql 語句將提到的 JPA 默認方法合并為一個。
查看完整描述

3 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

您可以使用以下方法:

List<MyPoJoObject>?findByCol1AndCol2In(String?col1_val,?Collection<String>?col2_val);
查看完整回答
反對 回復 2023-08-04
?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

您當然可以將兩者結合為一種方法。

List<MyPoJoObject> findByCol1AndCol2In(String col1_val,String[] col2_val);

嘗試這個。我不確定它是否會接受Collection<String>。我會嘗試并更新答案。


查看完整回答
反對 回復 2023-08-04
?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

如果您想對兩列以上執行此邏輯,那么您的方法名稱將變得冗長。


為什么不能編寫自己的 JPA 查詢,而不是堅持使用 Spring 命名呢?


例子:


@Query("select pojo from MyPoJoObject as pojo where pojo.col1 = :col1_val and pojo.col2 in :col2_val")

List<MyPoJoObject> findByColumns(String col1_val, List<String> col2_val);


查看完整回答
反對 回復 2023-08-04
  • 3 回答
  • 0 關注
  • 159 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號