【问题标题】:How to convert this criteria code into CriteriaBuilder如何将此标准代码转换为 CriteriaBuilder
【发布时间】:2018-12-19 16:58:42
【问题描述】:

我正在使用 3 个表设置休眠代码,我需要使用实体类来获取数据,而不是使用任何查询。

我有标准代码,我正在使用 createAlias 但无法转换为 CriteriaBuilder,因为休眠中的标准已被弃用。

Criteria criteria = session.createCriteria(Star.class, "star"); 
criteria.createAlias("star.assignedTo", "assigned"); 
criteria.createAlias("assigned.team", "team"); 
criteria.add(Restrictions.eq("team.team_id", "12393")); 

我想将此代码输入CriteriaBuilder

【问题讨论】:

    标签: hibernate criteria hibernate-criteria


    【解决方案1】:

    有点像

    CriteriaBuilder cb; // if I remember correctly en can be obrained either from EntityManager or from CriteriaQuery - its been a while
    
    root=cb.from(Star.class);
    teamJoin=root.join("assignedTo").join("team");
    
    cb.eq(teamJoin.get("team_id"),yourid)) // thats the predicate
    

    显然这是一种伪代码,因为我不知道你的类和部分属性,但你应该从这里得到这个想法。

    请记住,这些联接是内部联接。每个连接都可以指定类型作为第二个参数 - 以防万一。

    【讨论】:

    • 你能帮我弄清楚如何在assignedTo中使用group by吗?
    猜你喜欢
    • 1970-01-01
    • 2016-01-16
    • 2014-09-14
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    相关资源
    最近更新 更多