select r.role_id,p.duty_id from s_duty_auth p
left join s_role r on r.role_id = p.role_id
where.......
如上面所示:这是一个子查询,那么该如何写呢这个??
以下是我尝试的,但是好乱,不能成功,如何写??
Subquery<DutyAuth> subquery=query.subquery(DutyAuth.class);
Root<DutyAuth> subroot=subquery.from(DutyAuth.class);
subquery.select(subroot.get("roleId"));
SetJoin<DutyAuth, Role> setJoin=subroot.join(subroot.getModel().getSet("roleId",Role.class),JoinType.LEFT);
Predicate predicate=cb.equal(setJoin.get("roldId"), subroot.get("roleId"));
subquery.where(predicate);
Predicate predicate2=cb.exists(subquery);
list.add(predicate2);