일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 접근제어자
- 다형성
- 제태크
- 금리인상
- 백준
- 현금흐름표
- 오버라이딩
- 금리인하
- 주린이
- 주식
- 인플레이션
- XLF
- 미국주식
- 배당성장
- StringBuffer
- 객체지향
- 프로그래머스
- object
- Java
- 무디스
- 알고리즘
- S&P500
- 기업분석
- 잉여현금흐름
- mco
- etf
- FCF
- 그리디 알고리즘
- 자바
- javascript
- Today
- Total
목록전체 글 (215)
오늘의하루
readonly 상태라면 영속성도 readonly일까? 라는 궁금증이 들어 테스트 코드를 작성하면서 알게 된 알아둬도 정말 쓸데 없는 내용을 공유하려고 합니다. Hibernate에서 readonly 힌트를 사용하면 해당 엔티티를 조회할 때 스냅샷을 만들지 않게 됩니다.이로 인해 더티 체킹이 발생하지 않으며 결국 수정 쿼리가 DB에 나가지 않게 됩니다.즉, readonly는 DB 쿼리 측면에서 수정할 수 없도록 만들어줍니다.그런데 readonly 상태에서도 엔티티의 필드를 수정해봤더니 수정 쿼리는 발생하지 않지만 1차 캐시에는 수정된 값이 반영되는 걸 알게 되었습니다.@Test@Transactional(readOnly = true)void queryHint() { // given Member m..
1. 벌크 연산 (Bulk Operation)이란?벌크 연산이란 N개의 데이터를 한 번에 UPDATE 또는 DELETE 하는 작업을 의미합니다.Spring Data JPA에서 벌크 연산을 수행하기 위해서는 @Modifying이 필요합니다.2. 왜 필요할까?Spring Data JPA에서는 기본적으로 Query 메서드의 반환 값을 getResultList() 또는 getSingleResult()를 통해 처리하는데 이는 SELECT에서만 사용 가능합니다.이러한 이유로 UPDATE와 DELETE는 수정 또는 삭제된 행의 개수를 반환하게 되기 때문에 반환 값을 맞추기 위해서 @Modifying이 필요한데 만약 사용하지 않는다면 아래와 같은 예외를 맞이할 수 있습니다.예외 클래스 : InvalidDataAcces..
Cascade Type 속성Cascade는 부모 객체의 상태 변화가 자식 객체에게 영향을 미칠지 여부를 설정하는 기능이며 양방향 관계에서 외래 키를 가지지 않는 객체를 부모라고 칭할 때 각 Cascade 유형의 의미는 다음과 같습니다.@Entitypublic class Team { ... @OneToMany(mapped by = "team") private List members = new ArrayList(); ...}1. PERSIST부모 객체를 저장할 때 자식 객체도 자동으로 DB에 저장할 수 있습니다.예를 들어, members.add(...)와 같이 부모 객체에 자식 객체를 추가한 후 Team 객체를 저장하면 Member 객체도 함께 저장됩니다.주의 사항: 자식 테이블에서 부..