如何将此标准代码转换为CriteriaBuilder

时间:2018-12-19 16:58:42

标签: hibernate criteria hibernate-criteria

我正在使用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中。

1 个答案:

答案 0 :(得分:0)

类似

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

很明显,这是一种伪代码,因为我对您的类和parth属性一无所知,但您应该从这里了解一下。

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