엔티티를 수정하는 방법에는 크게 두가지가 있다. 변경감지 기능 병합(merge) 기능 두가지 방법의 차이점을 알아보겠다. 변경감지 기능 영속성 컨텍스트에 의해 관리되는 엔티티를 수정한 경우 발생한다. 트랜잭션 안에서 엔티티를 수정한다면 트랜잭션이 커밋 되는 시점에 변경 감지(Dirty Checking)이 일어나 DB에 실제 UPDATE SQL이 날라가게 된다. @Transactional void update(Member member) { Member member = memberRepository.findById(member.getId()); member.setName("change"); }위의 코드에서 member 는 영속성 컨텍스트에 의해 관리되고 있는 객체이다. 이 상태에서 member의 값을 변경하..
JPA 양방향관계, 즉시로딩과 지연로딩 DB를 사용하다보면 필연적으로 여러 테이블을 설계하게 된다. 그리고 여러 테이블의 연관 관계를 이용하여 원하는 데이터를 DB로부터 가져오게 된다. 예를들어, 배달앱이라고 가정했을 때 유저의 정보를 저장하는 User 테이블과 주문 정보를 저장하는 Order 테이블이 존재 할 것이다. 그리고 유저는 여러개의 주문을 가질 수 있으며, 주문은 하나의 유저에게 속하게 된다. 이러한 관계를 유저 입장에서는 주문과 1:N 관계이며 주문 입장에서는 유저와 N:1 관계를 가지게 된다. 그리고 이를 클래스로 표현하면 다음과 같다. @Entity @Getter @Setter public class User { @Id @GeneratedValue @Column(name = "member..
- Total
- Today
- Yesterday
- java
- 시뮬레이션
- 컴퓨터 통신
- node.js
- ReactNative
- dfs
- 자바스크립트
- 컴퓨터 구조
- 백트래킹
- Computer Architecture
- 자바
- 벨만포드
- 백준
- 세그먼트 트리
- 구현
- boj
- 그래프
- 투포인터
- nestjs
- BFS
- 그리디
- typeORM
- 중앙대학교
- nest.js
- 동적계획법
- 예외처리
- 재귀
- nodeJS
- 알고리즘
- 스레드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |