簡體   English   中英

子表上的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM