====== Hibernate/JPA Soft Delete ====== * 실제 삭제는 하지 않고 삭제 됐다고 해당 row 에 표시만 하는 방식. * 삭제를 표시하는 컬럼을 두고, * ''@SQLDelete'' 로 삭제대신 컬럼 update, * ''@Where''로 Entity 읽을 때 삭제된 것 제외하도록 처리하고, * ''@PreRemove'' 에서 entityManager.remove() 호출이후 해당 엔티티의 삭제 표시 필드를 삭제 상태로 만들어준다.(''@SQLDelete''로 삭제시에는 ''remove()'' 호출 작후의 엔티티는 삭제 안 된 상태값으로 남아있기 때문) ===== 참조 ===== * [[https://www.youtube.com/watch?v=2Ttsh8JUH5g|How to implement a soft delete with Hibernate - YouTube]]