-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
QueryDSL collection 다루기 질문있습니다.
21.12.27 16:02 작성 조회수 202
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))
이렇게 할 수 있는 것 같은데 다 가지고 있는 유저를 선택할 땐 어떻게 해야할까요?
답변을 작성해보세요.
0
김영한
지식공유자2021.12.28
안녕하세요. Rorschach님
사실 이 질문은 SQL 관련 질문입니다.
SQL 쿼리로 이 문제를 어떻게 해결할 수 있는지 자세히 남겨주세요.
감사합니다.
Rorschach
질문자2021.12.29
for(String p : permissionList) {
builder.and(
User.userPermissions.any().permission.eq(p)
)
}
서브쿼리형태로 해결했습니다!
다만 서브쿼리 where절 안에서 select 를 많이하게 되는 것 같습니다
답변 1