티스토리 뷰
728x90
반응형
- 특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속상태로 만들고 싶을 때
- 예) 부모 엔티티를 저장할 때 자식엔티티도 함께 저장
//부모 : parent.class, 자식 : child.class 있을 경우
@oneToMany(mappedBy="parent" , cascade=CascadeType.PERSIST)
예시 Parent.class, Child.class 사용하여 설명
@Entity
public class Parent {
@Id
@GeneratedValue
private Long id;
private String name;
@OneToMany(mappedBy = "parent", cascade = CascadeType.ALL) //cascade 선언
List<Child> childList = new ArrayList<Child>();
...
}
@Entity
public class Child {
@Id
@GeneratedValue
private Long id;
private String name;
@ManyToOne
@JoinColumn(name="parent_id")
private Parent parent;
...
//Main
Parent parent = new Parent();
parent.setName("test1");
Child child1 = new Child();
child1.setName("child1");
Child child2 = new Child();
child2.setName("child2");
parent.addChildList(child1);
parent.addChildList(child2);
entityManager.persist(parent);
//결과
Hibernate:
/* insert hellojpa.Parent
*/ insert
into
Parent
(name, id)
values
(?, ?)
Hibernate:
/* insert hellojpa.Child
*/ insert
into
Child
(name, parent_id, id)
values
(?, ?, ?)
Hibernate:
/* insert hellojpa.Child
*/ insert
into
Child
(name, parent_id, id)
values
(?, ?, ?)
영속성 전이: CASCADE 주의 사항
- 영속성 전이는 연관관계를 매핑하는 것과 아무 관련 없음
- 엔티티를 영속화할 때 연관된 엔티티도 함께 영속화하는 편리함만 제공
CASCADE 타입에 따른 전파 범위
TYPE | 설명 |
ALL | 아래에 기술된 모든 동장들을 자식 엔티티에게 전파한다 |
PERSIST | JPA의 Persist 동작 (save, persist )을 부모 엔티티에서 자식 엔티티에게 전파된다 |
MERGE | 부모 엔티티가 업데이트 될때 자식 엔티티들도 업데이트 된다 |
REMOVE | 자식 엔티티들을 부모 엔티티 삭제시 동시에 삭제한다 |
REFRESH | 데이터베이스로부터 데이터르 다시 읽어 들이는 refresh 동작을 부모에서 자식 엔티티로 전파 |
DETACH | Detach 를 부모에서 자식 엔티티로 전파한다 |
728x90
반응형
'프로그램 언어 > Spring JPA' 카테고리의 다른 글
기본값 타입 (임베디드 타입) (0) | 2023.05.01 |
---|---|
기본값 타입 (1) (0) | 2023.04.30 |
지연 로딩, 즉시로딩 (0) | 2023.04.28 |
PROXY(프록시) (0) | 2023.04.28 |
@MappedSuperclass(공통 속성 매핑) (0) | 2023.04.27 |
250x250
반응형
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- LocalDate
- 도커
- 컨테이너
- 격리수준
- dfs
- hazelcast
- 리눅스
- Linux
- Lock
- 캘린더
- 정의
- 알고리즘
- Java
- dockerfile
- 네이버 클라우드
- spring
- 개념 이해하기
- centos7
- leatcode
- MySQL
- Quartz
- docker
- mybatis
- 캐시
- 이미지
- insert
- 권한
- 스케줄러
- Cache
- ncp
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함