Spring/스프링가링가링
-
AOPSpring/스프링가링가링 2022. 11. 9. 02:31
[Spring] 스프링 AOP (Spring AOP) 총정리 : 개념, 프록시 기반 AOP, @AOP (tistory.com) AOP : Aspect Oriented Programming - 관점 지향 프로그래밍 - 취지: 흩어진 관심사를 Aspect로 모듈화하고 핵심적인 비즈니스 로직에서 분리하여 재사용하는 것 • Aspect : 흩어진 관심사를 모듈화한 것 • Target : Aspect를 적용하는 곳 (클래스, 메서드 등) • Advice : 실질적으로 어떤 일을 해야할 지에 대한 것, 실질적인 부가기능을 담은 구현체 • JointPoint : Advice가 적용될 위치. 메서드 진입 지점, 생성자 호출 시점, 필드에서 꺼내올 때 등 다양한 시점에 적용 가능 • PointCut : JointPoin..
-
JPA 지연로딩 사용시 N+1 문제Spring/스프링가링가링 2022. 10. 6. 15:07
JPA 지연로딩 사용시 N+ 1 문제 ORM - JPA, Spring Data JPA Embedded Database를 활용한 JPA test JPA 모든 N+1 발생 케이스과 해결책 (velog.io) JPA 모든 N+1 발생 케이스과 해결책 N+1이 발생하는 모든 케이스 (즉시로딩, 지연로딩)에서의 해결책과 그 해결책에서의 문제를 해결하는 방법에 대해 이야기 하려합니다 😀 velog.io JPA N + 1 문제 발생 이유 객체에 대해서 조회한다고 해도 다양한 연관관계들이 매핑에 의해서 관계가 맺어진 다른 객체가 함께 조회되는 경우에 N+1이 발생 => 지연로딩 사용 (연관된 객체를 사용하는 시점에 로딩) 데이터를 처음 조회한 시점에서는 N + 1 문제가 발생하지 않음 하지만, 하위 엔티티..