db 2

지연 로딩과 즉시 로딩의 차이

즉시 로딩: 연관관계에서 1:N 관계에 있는 엔티티를(N쪽의 데이터를) 조회할 때, 거기에 매핑된 다른 엔티티도 한 번에 하나의 쿼리로 가져오는 방식지연 로딩: DB가 아닌 프록시에서 데이터를 가져온다. 마찬가지로 N 쪽의 데이터를 조회할 때, 해당 데이터는 실제 DB쿼리로 가져오고 매핑된 다른 엔티티들은 프록시 객체로 함께 생성되어 메모리에 로딩됨. (프록시 객체는 즉시 생성되지만 그 프록시 내부의 실제 데이터는 아직 로딩되지 않음) 예를 들어보자...@Entitypublic class MemberPrefer { @ManyToOne(fetch = FetchType.LAZY) private Member member;}MemberPrefer이라는 객체에 N:1관계로 매핑된 객체 member 즉시..

궁금한 것 2025.05.08

[SpringBoot] Spring Data JPA를 사용한 CRUD

Spring Data JPA v.s. JPASpring Data JPA는 복잡한 JPA 코드를 스프링과 함께 쉽게 사용하도록 도와주는 라이브러리위의 함수들은 복잡한 JPA 코드를 감싼 코드임 전체 틀Spring Data JPA: JPA 사용JPA는 규칙일 뿐이고, 이를 구현한 Hibernate가 코드 역할을 하며Hibernate는 내부적으로 jdbc를 사용한다. 그래서 우리는 Srping Data JPA를 사용하면서 JDBC를 사용하고 있는 것Service에서 JpaRepository를 상속받은 Repository의 함수를 이용해서 CRUD 기능을 구현해보자사용할 repository 클래스가 JpaRepository를 상속받게 하면, 해당 repository는 굳이 @Repository를 붙이지 않아도,..

스프링부트 2025.03.10