Spring&Spring Boot/JPA2 [JPA] 지연로딩에서 N+1 문제, Fetch Join과 Join의 차이 N+1 문제란? 연관 관계가 설정된 엔티티를 조회할 때 조회된 데이터 갯수만큼 연관관계의 조회 쿼리가 추가로 발생하여 데이터를 읽어온다. n개가 100개면 쿼리가 100개가 나가게 되는 상황 현재 상황 @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Member extends BaseEntity { @Id @GeneratedValue @Column(name = "member_id") private Long id; //시퀀스 private String role; //권한(user, admin) private String userId; //이메일(아이디) @Column(length = 10) private Stri.. 2022. 8. 28. JPA란?(HIBERNATE, HIBERNATE설정, jpa 구동방식, ORM) JPA (Java Persistence API) JPA란? JPA는 자바 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음 ORM? ORM(Object Relational Mapping) 자체적으로 쿼리문 생성(SQL문 불필요) SQL Query가 아닌 자바 코드(메서드)로 데이터 조작이 가능 물론, SQL Query도 사용할 수 있지만, @Query와 같은 Annotation으로 코드에서 사용할 수 있음 장점: SQL 중심적인 개발이 아닌 Method를 통해서 DB를 조작할 수 있어, 개발자는 객체 모델을 이용해서 비즈니스 로직을 구성하는데만 집중할 수 있음. (개발자가 CRUD용 쿼리를 따로 작성할 필요가 없다) 단점: 통계 쿼리처럼 매우 복잡한.. 2022. 4. 29. 이전 1 다음