-
(JPA-4)MappedSuperclass 공통매핑정보의 재사용
MappedSuperclass: 공통 매핑 정보의 재사용 개요 MappedSuperclass는 JPA에서 상속 관계 매핑이 아닌 공통 매핑 정보의 재사용을 위해 사용됩니다. 이 방법은 데이터베이스 설계와 객체지향 설계의 불일치 문제를 해결하는 데 도움을 줍니다. 주요 특징 공통 매핑 정보 제공: @MappedSuperclass로 지정된 클래스는 데이터베이스 테이블로 직접 매핑되지 않습니다. 대신, 이 클래스에 정의된 매핑 정보(필드, 관계, 메서드 등)는 상속받는 자식 클래스에게 상속됩니다. 엔티티가 아님: @MappedSuperclass로 지정된 클래스는 엔티티가 아닙니다.... Read More
-
(JPA-3)고급매핑 상속관계매핑
들어가기 전에 이전글 연관관계 매핑 포스트를 보고 오면 좋습니다. 고급 매핑: 상속관계 매핑 객체지향 프로그래밍에서 상속은 중요한 개념입니다. 이를 데이터베이스와 연동할 때, 어떻게 효과적으로 구현할 수 있을까요? JPA(Java Persistence API)를 사용하면, 슈퍼타입과 서브타입 관계를 물리 모델로 효율적으로 변환할 수 있습니다. 이를 위한 세 가지 전략이 있습니다: 각각의 테이블로 변환 (조인 전략) 통합 테이블로 변환 (단일 테이블 전략) 서브타입 테이블로 전환 (구현 클래스마다 테이블 전략) 주요 어노테이션 이러한 전략을 구현하기 위해 JPA에서는 다음과 같은 어노... Read More
-
(JPA-2)JPA 연관관계 매핑과 연관관계의 주인
들어가기 전에 이전글 영속성 컨텍스트 포스트를 보고 오면 좋습니다. 연관관계 매핑 기초 ORM을 사용하는 데 있어서 가장 중요한 개념 중 하나는 객체와 테이블의 차이를 이해하는 것이라고 생각한다. 사실 DB만 잘 배우는 것도 쉽지 않은데, 안타깝게도 ORM을 사용하려면 기본적인 DB 지식이 있어야 한다. 방향(Direction): 단방향, 양방향 다중성(Multiplicity): 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M) 이해 연관관계의 주인(Owner): 객체 양방향 연관관계는 관리주인이 필요 1. 단방향 연관관계 (N:1) 예를 들어, 주문(Order)이 고... Read More
-
(JPA-1)JPA와 영속성 컨텍스트
들어가기 전에 사실 스프링 공부를 여러번 시도 했었다. HTTP, WAS, DB 등 백앤드에 관련된 지식이 없을 때 무작정 인프런에서 유명하다는 강사님의 인강을 보면서 따라 쳤는데 강의 내용의 반의 반도 습득하지 못했었다. 그렇게 두 번, 세 번 전체강의를 돌려보았고 결국 완벽한 이해는 못한 채 다른 프로젝트들을 시작했다. Flask, Nest.js 등의 다른 프레임워크를 사용하다가 현업에서 가장 많이 쓰고 강력한 무기인 Spring을 다 씹어먹지 못한 게 너무 한이되어 다시 처음부터 개념을 씹어먹을거라는 각오로 블로그 글을 작성하면서 다시 공부하기로 했다. 그래서, Code-based인 다른 포스트... Read More
-
Spring DI와 IoC 컨테이너에 대해서
DI(의존관계 주입) / 스프링 컨테이너 DI(의존관계 주입)는 애플리케이션 실행 시점에 외부에서 실제 구현 객체를 생성하고 클라이언트에 전달하는 과정을 의미합니다. 이를 통해 클라이언트와 서버의 실제 의존관계가 연결됩니다. IoC 컨테이너, DI 컨테이너 IoC(Inversion of Control) 컨테이너는 객체의 생성과 관리를 담당합니다. AppConfig와 같은 클래스가 이 역할을 수행합니다. @Bean 어노테이션 @Bean 어노테이션은 스프링 컨테이너에 의해 관리될 객체를 선언할 때 사용됩니다. 예를 들어: @Configuration public class AppConfig { @Bea... Read More