如何将此条件代码转换为 CriteriaBuilder

How to convert this criteria code into CriteriaBuilder

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

我有标准代码,我正在使用 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

类似于

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 属性,但你应该从这里得到这个想法。

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