728x90

2025/04 3

[JPA] fetch join과 카르테시안 곱

JPA와 Hibernate를 사용할 때, 연관된 엔티티를 효율적으로 가져오기 위해 흔히 Fetch Join을 사용합니다. 그러나 Fetch Join을 잘못 사용할 경우 예상치 못한 문제가 발생할 수 있습니다. 이번 글에서는 Hibernate 공식 문서를 기준으로 이러한 문제들을 명확히 분석하고 올바른 해결법을 제시합니다.🔥 Fetch Join과 카르테시안 곱다음과 같은 엔티티가 있다고 가정합시다.@Entitypublic class A { @Id private Long id; @OneToMany(mappedBy = "a", fetch = FetchType.LAZY) private List bList = new ArrayList(); @OneToMany(mappedBy = "a"..

JVM/JPA 2025.04.03

[Keycloak] 어드민 API 호출 권한, 사용자에게 직접 부여하기

이번 글에서는 Keycloak의 Admin API 호출 권한을 클라이언트가 아닌 개별 사용자에게 직접 부여하는 방법을 정리합니다. 일반적으로 권한은 클라이언트에 설정되지만, 특정 사용자만 API 호출 권한을 갖게 하려면 직접 사용자에게 역할을 부여해야 합니다.목표 시나리오특정 사용자가 Keycloak Admin API 호출에 필요한 권한을 직접 갖도록 설정예를 들어, 특정 관리자가 직접 사용자 정보 조회 및 그룹 조회 등의 API를 호출할 수 있게 설정왜 사용자에게 직접 역할을 부여하는가?장점 설명세부 권한 관리특정 사용자에게만 정교하게 권한 부여임시 권한 부여 가능긴급 상황 등 일시적으로 API 호출 권한 부여 가능최소 권한 원칙 준수클라이언트 전체가 아닌 특정 사용자에게만 제한적으로 권한 부여Keyc..

Keycloak 2025.04.01
728x90