0
我想建立一個規範來判斷下面查詢的子查詢。 從用戶u中選擇u。*,其中u.login in(從userRoles中選擇ur.role_id,其中ur.role_Id = roleId)。春季數據JPA:從不同的表創建規範子查詢
到現在,這是我建立
public static Specification<User> userRoleId(String roleId) {
return new Specification<User>() {
@Override
public Predicate toPredicate(Root<User> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
//return builder.equal(root.<LocalDate> get("scheduledDisbursementDate"), scheduledDisbursementDate);
Subquery<UserRole> subquery = query.subquery(UserRole.class);
Root<UserRole> subqueryRoot = subquery.from(UserRole.class);
subquery.select(subqueryRoot);
Predicate roleIdList = builder.equal(subqueryRoot.get("roleId"), roleId);
subquery.select(subqueryRoot).where(roleIdList);
return builder.exists(subquery);
}
};
}
能否請您幫我出的子查詢與主查詢鏈接部分。
注意:在實體類中沒有定義聯接。 evrything應通過subquerys做只