@Embedded 2

@ElementCollection 그리고 @Embedded와 비교

Embedded Type을 공부하던 중 @ElementCollection과 @Embedded가 비슷하면서도 다른점을 느껴 개인적으로나마 간략하게라도 정리를 해야겠다고 생각하여 블로그를 작성하게 되었다. 먼저 @ElementCollection에 대해 알아보자 (@Embedded의 사용법은 이전 포스트에 기재: https://mason-lee.tistory.com/157 ) @ElementCollection 이란? @ElementCollection은 JPA에서 사용되는 어노테이션으로 단순한 컬렉션(리스트, 맵, 셋 등)을 사용하여 단일 혹은 복합적인 값 타입(int, String 등)을 저장할 때 사용되는 연관관계 매핑의 한 종류이다. 만약 복합적인 값 타입을 저장할 때에는 @Embeddable을 사용하여 ..

@Embedd를 활용한 관계 매핑

문제 발단 개인 프로젝트로 만든 게시판의 처음 계획했던 모든 기능들을 성공적으로 완성한 뒤 회고 차원에서 테이블 설계를 좀더 간략화 시킬 수 있는 방법이 없을까 고민하던중 Embedded Type을 알게 되어 알아보게 되었다. Embedded Type이란? Embedded Type은 JPA에서 사용되는 개념으로 엔티티의 일부 속성을 별도의 테이블로 분리하지 않고 하나의 테이블에 내장하는 방식이다. 장점 코드의 재사용: 여러 엔티티에서 공통된 속성을 임베디드 타입으로 묶어 재사용할 수 있다. 객체지향적 설계: 여러 속성을 하나의 객체로 분리하여 더욱 객체지향적으로 설계할 수 있다. 데이터베이스 스키마 최적화: 중복 데이터 저장을 최소화하여 데이터베이스 스키마를 깔끔하게 유지할 수 있다. 복잡성 감소: 일부..