Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 백준
- object
- 주식
- 오버라이딩
- Java
- 금리인상
- mco
- 기업분석
- S&P500
- 접근제어자
- 제태크
- 알고리즘
- 객체지향
- 배당성장
- 주린이
- 무디스
- 다형성
- XLF
- FCF
- etf
- 현금흐름표
- 그리디 알고리즘
- 미국주식
- 자바
- 프로그래머스
- StringBuffer
- 인플레이션
- 잉여현금흐름
- javascript
- 금리인하
Archives
- Today
- Total
목록원인 (1)
오늘의하루
JPA deleteByXX의 1+N 문제와 성능 저하 해결 방법
JPA를 사용하면서 deleteByCouponId(Long couponId)와 같은 네이밍 메서드를 활용하면 간편하게 특정 ID를 기반으로 데이터를 삭제할 수 있지만 이러한 메서드를 사용할 때 몇 가지 주의해야 할 점이 있습니다.deleteByCouponId의 동작 방식JPA에서 deleteByCouponId와 같은 메서드를 실행하면 내부적으로 다음과 같은 과정을 거칩니다.먼저 couponId를 기반으로 해당하는 엔티티 목록을 조회합니다.조회된 엔티티들을 하나씩 순회하면서 EntityManager의 remove 메서드를 호출하여 삭제합니다.삭제된 엔티티는 1개씩 flush 되며 트랜잭션이 걸려 있다면 커밋 시 최종 반영됩니다.이 과정에서 단순히 deleteByCouponId를 호출하면 SQL의 DELET..
Spring/JPA
2025. 3. 18. 10:29