일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- 프로그래머스
- 그리디 알고리즘
- 기업분석
- 오버라이딩
- mco
- XLF
- 주린이
- 다형성
- 배당성장
- 금리인상
- 백준
- 자바
- S&P500
- 객체지향
- etf
- 미국주식
- StringBuffer
- 잉여현금흐름
- 무디스
- 현금흐름표
- 접근제어자
- 주식
- FCF
- 금리인하
- object
- javascript
- 인플레이션
- Java
- 제태크
- Today
- Total
목록JPA (3)
오늘의하루
JPA를 사용하면서 deleteByCouponId(Long couponId)와 같은 네이밍 메서드를 활용하면 간편하게 특정 ID를 기반으로 데이터를 삭제할 수 있지만 이러한 메서드를 사용할 때 몇 가지 주의해야 할 점이 있습니다.deleteByCouponId의 동작 방식JPA에서 deleteByCouponId와 같은 메서드를 실행하면 내부적으로 다음과 같은 과정을 거칩니다.먼저 couponId를 기반으로 해당하는 엔티티 목록을 조회합니다.조회된 엔티티들을 하나씩 순회하면서 EntityManager의 remove 메서드를 호출하여 삭제합니다.삭제된 엔티티는 1개씩 flush 되며 트랜잭션이 걸려 있다면 커밋 시 최종 반영됩니다.이 과정에서 단순히 deleteByCouponId를 호출하면 SQL의 DELET..
Cascade Type 속성Cascade는 부모 객체의 상태 변화가 자식 객체에게 영향을 미칠지 여부를 설정하는 기능이며 양방향 관계에서 외래 키를 가지지 않는 객체를 부모라고 칭할 때 각 Cascade 유형의 의미는 다음과 같습니다.@Entitypublic class Team { ... @OneToMany(mapped by = "team") private List members = new ArrayList(); ...}1. PERSIST부모 객체를 저장할 때 자식 객체도 자동으로 DB에 저장할 수 있습니다.예를 들어, members.add(...)와 같이 부모 객체에 자식 객체를 추가한 후 Team 객체를 저장하면 Member 객체도 함께 저장됩니다.주의 사항: 자식 테이블에서 부..
예외 발생 이유 세션이 사라진 후 지연 로딩(LAZY) 상태에서 프록시 초기화가 불가능하기 때문에 발생하는 예외 지연 로딩 ( FetchType.LAZY ) 지연 로딩을 하는 이유는 JPA에서 발생하는 문제 중 가장 유명한 N + 1 문제를 해결하기 위함이다. 지연 로딩은 한번에 연관된 데이터까지 한번에 불러오는 것이 아닌 연관된 데이터를 필요한 시점에 그때 그때 불러오는 것이다. 그래서 왜 지연 로딩을 쓰는가? 예를 들어 Member과 Team테이블이 있고 Member와 Team는 N:1 관계가 있다. 이때 즉시 로딩(EAGER)을 하게 된다면 Team을 조회 시 해당 Team을 가진 모든 Member를 하나씩 조회하게 된다. 분명 Team 1개를 조회했는데 Team에 속한 Member N개의 조회 쿼..