所以我有一个名为'User'的表,其字段为
userId
userName
supervisorId
我想获取特定用户的主管的userName .
CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(User.class);
Root rootUser = criteriaQuery.from(User.class);
List predList = new ArrayList();
Join selfJoin = rootUser.join("userId", JoinType.LEFT); //not sure about this line
predList.add(criteriaBuilder.equal(selfJoin.get("userId"), supervisorId)); //supervisorId is the id of the supervisor that I want to find
TypedQuery typedQuery = em.createQuery(criteriaQuery);
List resultList = typedQuery.getResultList();
现在,除了这位主管之外,我还有许多其他条件 . 所以我必须使用相同的标准查询 .
谢谢 .