Cascade insert
Cascade update
Cascade delete 그냥 Remove 옵션만 사용하면 다른 엔티티에 연결되어 있는 엔티티도 연결이 끊어져 버림
-> OneToMany(orphanRemoval = true)
다른값이 여전히 연결되어 있다면 orphanRemoval로 관계를 유지시킬 수 있음.
엔티티와 연관되어 있는 다른 엔티티들도 연결함.
영속성 분리 시킴.
각 엔티티에 deleted 속성을 넣어서 실제로 데이터를 삭제하는 것이 아닌 컬럼을 생성하여 데이터가 보이지 않도록만 만듦.
각 객체에 @Entity 선언시에 annotation으로 @Where(clause = "deleted = false") 를 추가하여 데이터를 검색할때 무조건 where절에 해당 문구가 들어가도록 설정함.