有两件事不对:
-
multiselect()
javax.persistence.criteria.Join
它的参数。
-
您的查询条件与联接完全无关,因为字段上的条件
nuserId
可以完全填充
Users
只有桌子。
如果你想两者兼得的话
User
以及它的
UserRoleMapping
同时,您可以尝试:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Users> cq = cb.createQuery(Users.class);
Root<Users> rootRoles = cq.from(Users.class);
rootRoles.fetch("roleUserRoleMappingMappingJoin", JoinType.LEFT);
cq.select(rootRoles).where(cb.equal(rootRoles.get("nuserId"),nuserID));
List<Users> roleJoinResultObj = em.createQuery(cq).getResultList();