본문 바로가기

JPA/Annotation5

@PersistenceContext 개인 공부 목적으로 작성한 글입니다. 아래 출처를 참고하여 작성하였습니다. 목차 @PersistenceContext 란? @PersistenceContext를 사용해야 하는 이유 1. @PersistenceContext 란? EntityManager를 빈으로 주입할 때 사용하는 어노테이션입니다. 스프링에서는 영속성 관리를 위해 EntityManager가 존재합니다. 그래서 스프링 컨테이너가 시작될 때 EntityManager를 만들어서 빈으로 등록해둡니다. 이 때 스프링이 만들어둔 EntityManager를 주입받을 때 사용합니다. @PersistenceContext로 지정된 프로퍼티에 아래 두 가지 중 한 가지로 EntityManager를 주입해줍니다. EntityManagerFactory에서 새로운 .. 2021. 10. 13.
@MappedSuperclass 개인 공부 목적으로 작성한 글입니다. 아래 출처를 참고하여 작성하였습니다. 목차 Intro @MappedSuperclass 1. Intro @MappedSuperclass 어노테이션에 대해 알아보겠습니다. 2. @MappedSuperclass Entity에서 Table에 대한 공통 매핑 정보가 필요할 때 부모 클래스에 정의하고 상속받아 사용합니다. 해당 기능(클래스)을 사용하면 Domain Entity 코드를 작성할 때 필드 중복을 제거할 수 있습니다. @Getter @MappedSuperclass public abstract class BaseEntity { @Id @GeneratedValue private Long id; //... } 출처 [JPA ] Auditing 기능 살펴보기 2021. 10. 10.
@JoinColumn 개인 공부 목적으로 작성한 글입니다. 아래 출처를 참고하여 작성하였습니다. 목차 @JoinColumn이란? with @OneToOne with @ManyToOne 1. @JoinColumn이란? @JoinColumn은 엔티티 연관관계나 Collection 연관관계에서 조인 대상이 되는 Column을 나타냅니다. 2. with @OneToOne @OneToOne과 함께 쓰이는 @JoinColumn은 현재 엔티티가 참조하는 refer 엔티티의 기본키를 해당 필드로 나타냅니다. DB 상으로는 외래키로 잡히는 것이고, JPA 상으로는 객체가 매핑되어 있을 것입니다. @Entity public class Office { @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name =.. 2021. 10. 6.
@EnableJpaRepositories 개인 공부 목적으로 작성한 포스팅입니다. 아래 출처를 참고하여 작성하였습니다. 목차 @EnableJpaRepositories란? 1. @EnableJpaRepositories란? JPA Repository 빈을 활성화하는 어노테이션입니다. 아래 코드처럼 별도로 basePackages 속성을 주지 않으면 @SpringBootApplication에 설정한 빈 scan 범위와 동일한 범위로 빈을 scan 합니다. package com.example.reactiveapp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.spri.. 2021. 9. 27.