본문 바로가기

반응형

jpa

JPA 성능 최적화 N+1 문제 JPA 성능상 가장 주의해야 되는 문제이다. 먼저, N +1 문제는 지연로딩, 즉시로딩 모든 경우에 발생할 수 있다. 1) 즉시로딩 N+1문제 즉시로딩의 경우 엔티티 매니저를 통해 조회할 경우 즉시 연결 데이터를 조인해서 조회하기때문에 N+1문제가 발생하지 않는다. 하지만, JPQL를 사용할 경우는 다르다. 먼저 JPQL은 즉시 로딩, 지연 로딩를 고려해서 쿼리를 실행하지 않기 때문에 아래와 같이 조회를 할 경우 문제가 발생한다. @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; private String name; @Embedded private Address addres.. 더보기
JPA 웹 어플리케이션 개발 웹 애플리케이션 만들기 진행 순서 - 프로젝트 환경설정 (프로젝트 구조, 메이븐과 라이브러리 설정, 스프링 프레임워크 설정) - 도메인 모델과 테이블 설계 - 애플이케이션 기능 구현 프로젝트 환경설정 [JPA 사용을 위한 예외적인 설정] 1. 트랙잭션 관리자를 DatasourceTransactionManager가 아닌 JpaTransactionManager로 등록해야 됨 (JPA + JdbcTeplate + Mybatis 함께 사용가능) 2. JPA 예외를 스프링 프레임워크가 추상화한 예외로 변환하는 AOP 적용 3. 스프링 프레임워크에서 JPA를 사용하려면 스프링 프레임워크가 제공하는 엔티티 매니저 팩토리를 등록해야 됨 org.hibernate.dialect.H2Dialect true true true.. 더보기

반응형