
JPA 첫 걸음마 JPA 동작 원리 이해하기 EntityManagerFactory는 애플리케이션 전체에서 하나만 생성해서 공유하지만, EntityManager`는 스레드 간 공유하면 안 된다. 사용 후에는 반드시 닫아야 한다. 또한 JPA의 모든 데이터 변경 작업

핵심 포인트:외래키가 있는 쪽이 연관관계의 주인fetch = FetchType.LAZY 필수@JoinColumn으로 외래키 이름 지정일대다 단방향은 권장하지 않음. 외래키가 다른 테이블에 있어서 추가 UPDATE SQL이 실행됨.문제점: 연관관계 관리를 위해 추가 UP

조인 대상 필터링:연관관계 없는 엔티티 외부 조인:EXISTS (subquery): 서브쿼리에 결과가 존재하면 참ALL (subquery): 모두 만족하면 참ANY/SOME (subquery): 같은 의미, 조건을 하나라도 만족하면 참IN (subquery): 서브쿼리

jpa 변경감지와 merge의 차이점

JPA에서 일대다(OneToMany) 관계를 처리할 때 컬렉션 패치조인(Collection Fetch Join)을 사용하면 성능 저하 문제가 발생한다.

OSIV(Open Session In View)는 JPA의 영속성 컨텍스트를 뷰 렌더링까지 유지하는 패턴이다.

Spring Data JPA는 JPA 기반의 데이터 접근 계층을 쉽게 구현할 수 있도록 도와주는 프레임워크이다.

QueryDSL