[Spring Boot] JPA @MapsId를 이용한 FK를 PK로 사용하기
·
Spring/Spring Boot
이번 프로젝트에서 JPA 엔티티를 설계하면서 외래 키를 기본 키로 사용하는 경우를 마주하게 되었습니다. 이 과정에서 활용한 기능이 바로 @MapsId입니다. 이 글에서는 @MapsId 어노테이션을 사용하여 외래 키를 기본 키로 설정하는 방법과 그 이점에 대해 설명하고자 합니다.1. 프로젝트 배경이번 프로젝트에서는 Profile 엔티티와 ProfileImage 엔티티 간의 관계를 설정해야 했습니다. Profile 엔티티는 유저의 프로필 정보를 담고 있으며, ProfileImage 엔티티는 프로필 이미지 정보를 저장합니다. 이때, ProfileImage 엔티티의 기본 키로 Profile 엔티티의 기본 키를 사용하고자 했습니다. 이를 구현하기 위해 JPA의 @MapsId 어노테이션을 활용하게 되었습니다.2. ..
Spring Data JPA: 메서드 이름 기반 쿼리와 @Query 애노테이션 기반 쿼리 비교
·
Spring/Spring
Spring Data JPA를 사용하면 데이터베이스와의 상호작용을 쉽게 처리할 수 있습니다. 두 가지 주요 방법으로 쿼리를 정의할 수 있습니다. 메서드 이름 기반 쿼리와 @Query 애노테이션 기반 쿼리 이 두 가지 방법의 차이점과 장단점을 설명하겠습니다. 1. 메서드 이름 기반 쿼리란?메서드 이름 기반 쿼리는 Spring Data JPA에서 제공하는 강력한 기능으로, 메서드 이름을 분석하여 자동으로 쿼리를 생성하는 방식입니다. 메서드 이름의 접두사와 속성 이름을 사용하여 쿼리를 생성합니다.public interface ChampionRepository extends JpaRepository { Champion findByName(String name);}이 예제에서 findByName 메서드는 S..
JoonYong
'JPA' 태그의 글 목록