분류 전체보기

Spring Framework/JPA

[JPA] JPA 연관관계 매핑 및 지연로딩 (다대일, 일대다, 다대다)

1) JPA 연관관계 매핑 시 고려사항 3가지 ✔ 다중성 ✔ 단방향, 양방향 ✔ 연관관계의 주인 ▼ 다중성 - 애노테이션 정리 - 다대일 : @ManyToOne - 일대다 : @OneToMany - 일대일 : @OneToOne - 다대다 : @ManyToMany 주로 다대일, 일대다, 일대일 관계로 표현하며, 다대다 관계를 가지는 경우 1:N - M:1 관계인 일대다 - 다대일 관계로 풀어서 표현합니다. ▼ 단방향, 양방향 [테이블] : 데이터베이스 - 외래 키 하나로 양쪽 조인이 가능합니다. [객체] : 자바 - 참조용 필드가 있는 쪽에서만 참조가 가능합니다. (한쪽만 참조하면 단방향, 양 쪽이 서로 참조하면 양방향) ▼ 연관관계의 주인 - 테이블은 외래 키 하나로 두 테이블이 연관관계를 맺습니다. -..

Spring Framework/JPA

[JPA] JPA 영속성 컨텍스트 이해하기, 영속성 컨텍스트 장점, persist, flush

(인프런) 자바 ORM 표준 JPA 프로그래밍 - 기본편- 을 바탕으로 작성하였습니다. https://www.inflearn.com/course/ORM-JPA-Basic/dashboard ※ JPA에서 가장 중요한 2가지 객체와 관계형 데이터베이스 매핑하기 ( Object Relational Mapping ) 객체 - 데이터베이스 영속성 컨텍스트 이해하기 1. EntityManagerFactory와 EntityManager ✔ EntityManagerFactory는 하나만 생성해서 애플리케이션 전체에서 공유하여 사용합니다. ✔ EntityManager는 Thread 간에 공유하지 않습니다. ✔ EntityManager를 통해서 영속성 컨텍스트에 접근할 수 있습니다. ✔ JPA의 모든 데이터 변경은 트랙잭..

Spring Framework/Spring

[Spring] 스프링 중복 빈 해결 방법, Bean이 2개 이상일 때

스프링 빈을 조회할 때 메서드 이름 없이 타입으로만 조회하게 되면 스프링 빈이 2개 이상 조회될 수 있는 문제가 있습니다. @Autowired는 객체의 타입(Type)으로 조회합니다. @Autowired private DiscountPolicy discountPolicy // 위의 코드는 // ac.getBean(DiscountPolicy)와 유사하게 동작합니다 @Component public class FixDiscountPolicy implements DiscountPolicy {} // 두 스프링 빈 모두 타입이 DiscountPolicy @Component public class RateDiscountPolicy implements DiscountPolicy {} ✔ 타입으로만 조회하게 되면 스프..

Spring Framework/Spring

Spring 싱글톤 컨테이너와 스프링 컨테이너 개념 이해하기

스프링 없는 순수한 DI Container✔ 스프링을 사용하지 않는 DI 컨테이너인 AppConfig는 사용자가 요청을 할 때마다 객체를 계속해서 새로 생성합니다.-> 요청할 때마다 객체를 계속해서 생성하므로 메모리 낭비가 심합니다. 해결방안✔ 해당 객체가 딱 1개만 생성되고 (Singleton), 공유하도록 설계하여 반복 생성되는 구조를 피하는 것입니다.public class SingletonTest { @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContainer(){ AppConfig appConfig = new AppConfig(); // 1. 조회: 호출할 때 마다 객체를 생성 MemberServi..

kylo
'분류 전체보기' 카테고리의 글 목록 (45 Page)