[JPA] @Transaction을 붙이지 않았을 때 생기는 문제, JPA Proxy, LazyLoading과 EagerLoading N+1 문제
·
Spring/JPA
오늘부터 리팩토링 또는 트러블 슈팅위주로 포스팅하려고 한다. 오늘 해결했던 문제LazyLoading으로 설정한 엔티티가 가져와지지 않는 문제2025-02-21T21:31:27.016+09:00 WARN 5521 --- [nio-8080-exec-6] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.server.delivery.model.store.entity.Store.operatingHours: could not initialize proxy - no Session]위 warn 로그의..
JPA - 지연로딩과 즉시로딩
·
Spring/JPA
즉시 로딩과 지연 로딩 이전 포스트에서 프록시에 대해 배웠다. 해당 객체와 연관된 다른 객체를 어떤 시점에 불러올지 , 어떤 타입으로 형성되는지 알아봤다. JPA는 이런 프록시 기술을 사용해서 지연로딩을 사용한다. 객체 생성 코드 @Entity @Data @NoArgsConstructor(access = AccessLevel.PROTECTED)//기본생성자 protected @ToString(of = {"id","username","age"}) public class Member extends BaseEntity { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String username; private int age;..