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 | 31 |
Tags
- 백준
- 인플레이션
- XLF
- 제태크
- 프로그래머스
- 금리인하
- 현금흐름표
- FCF
- 객체지향
- Java
- javascript
- 오버라이딩
- 접근제어자
- 자바
- 다형성
- object
- 그리디 알고리즘
- mco
- 주식
- 알고리즘
- 금리인상
- 주린이
- 미국주식
- 배당성장
- etf
- 무디스
- 잉여현금흐름
- 기업분석
- S&P500
- StringBuffer
Archives
- Today
- Total
목록2025/03/18 (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