![](/img/trans.png)
[英]Map JPA Embedded entity class id to Embeddable entity class id
[英]Select query with JPA Criteria API When Entity class has a child class (Embeddable id)
我是JPA的新手。
我在以下鏈接中找到了如何使用JPA標准API: 具有多個參數的JPA標准API
謂詞的代碼為:
Root<CustomerEntity > customerEntity = cq.from(CustomerEntity.class);
List<Predicate> predicates = new ArrayList<Predicate>();
//Adding predicates in case of parameter not being null
if (param1 != null) {
predicates.add(
qb.equal(customerEntity.get("fieldName"), param1));
}
但是我的客戶實體類具有可嵌入的ID(復合主鍵)
在這種情況下如何使用JPA條件API
所有可嵌入的id對象值也是搜索(選擇查詢)所必需的嗎?
您必須執行2個步驟:
在可嵌入對象上實現equals和hashcode
像普通一樣創建謂詞
predicates.add(
qb.equal(customerEntity.get("id"), embeddableId));
更新您不能在不填充其所有值的情況下按整個對象進行搜索。 要僅搜索一個屬性,只需遍歷路徑並進行比較
predicates.add(
qb.equal(customerEntity.get("id").get("property1"), embeddableId.getProperty1()));
希望這會有所幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.