사용자 도구

사이트 도구


java:hibernate:soft_delete

Hibernate/JPA Soft Delete

  • 실제 삭제는 하지 않고 삭제 됐다고 해당 row 에 표시만 하는 방식.
  • 삭제를 표시하는 컬럼을 두고,
    • @SQLDelete 로 삭제대신 컬럼 update,
    • @Where로 Entity 읽을 때 삭제된 것 제외하도록 처리하고,
    • @PreRemove 에서 entityManager.remove() 호출이후 해당 엔티티의 삭제 표시 필드를 삭제 상태로 만들어준다.(@SQLDelete로 삭제시에는 remove() 호출 작후의 엔티티는 삭제 안 된 상태값으로 남아있기 때문)

참조

java/hibernate/soft_delete.txt · 마지막으로 수정됨: 2017/11/30 22:21 저자 kwon37xi