![](/img/trans.png)
[英]Add count of child table to select from parent with hibernate criteria API
[英]Hibernate Criteria API on Child table
這是2個DTO:
class Item {
private Integer id;
private Integer serviceId;
private String itemGuid;
private String meterId;
private Integer resourceId;
private String meterName;
private String description;
private String category;
private String subCategory;
private List rates;
}
public class Rates {
private Integer id;
private Double unit;
private Double price;
private String field1Unique;
private String field2Unique;
private String field1Index;
private String field2Index;
private String serviceData;
}
項目和費率之間的關系如下:
@OneToMany(mappedBy = "ItemDTOs", fetch = FetchType.LAZY)
在Rates表中, @JoinColumn(name = "Item_id", nullable = false)
列在下面: @JoinColumn(name = "Item_id", nullable = false)
我需要獲取所有Item以及Rates,其中Item.serviceId = 10(來自item表)和Rates.field1Index = 24(來自Rates表)
您能告訴我如何使用標准API提取嗎
應該是這樣的:
CriteriaBuilder cb=null;
CriteriaQuery<Item> cq = cb.createQuery(Item.class);
Root<Item> root = cq.from(Item.class);
Join<Item, Rates> join = root.join("rates");
cq.where( cb.and(cb.equal(root.get("serviceId"), 10), cb.equal(join.get("field1Index"),24)));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.