21.12.27 16:02 작성
·
243
0
List<String> permissionList = Arrays.asList("CONTENT_READ", "CONTENT_WRITE");
User --- UserPermission --- Permissions
로 각각 one to many ,many to one 으로 이루어져있는데
퍼미션들을 하나라도 가지고 있는 유저를 뽑을 땐
qf.selectFrom(user).innerJoin(user.userPermissions, permission).on(user.permissions.`in`(permissionList))
이렇게 할 수 있는 것 같은데 다 가지고 있는 유저를 선택할 땐 어떻게 해야할까요?
2021. 12. 29. 11:04
for(String p : permissionList) {
builder.and(
User.userPermissions.any().permission.eq(p)
)
}
서브쿼리형태로 해결했습니다!
다만 서브쿼리 where절 안에서 select 를 많이하게 되는 것 같습니다