JPA - CASCADE

yg kim·2022년 1월 17일
0

Spring

목록 보기
5/7

Type

사용방법

  • OneToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
  • ManyToOne(cascade = {CascadeType.ALL})
  • ...

- ALL

- PERSIST

Cascade insert

- MERGE

Cascade update

- REMOVE

Cascade delete 그냥 Remove 옵션만 사용하면 다른 엔티티에 연결되어 있는 엔티티도 연결이 끊어져 버림
-> OneToMany(orphanRemoval = true)
다른값이 여전히 연결되어 있다면 orphanRemoval로 관계를 유지시킬 수 있음.

- REFRESH

엔티티와 연관되어 있는 다른 엔티티들도 연결함.

- DETACH

영속성 분리 시킴.

Soft Delete

각 엔티티에 deleted 속성을 넣어서 실제로 데이터를 삭제하는 것이 아닌 컬럼을 생성하여 데이터가 보이지 않도록만 만듦.

각 객체에 @Entity 선언시에 annotation으로 @Where(clause = "deleted = false") 를 추가하여 데이터를 검색할때 무조건 where절에 해당 문구가 들어가도록 설정함.

profile
발전하고 싶은 사람

0개의 댓글