티스토리 뷰

728x90
@SQLDelete(sql = "UPDATE USER SET deleted=true where id=?")

soft deletion은 유저의 입장에서는 삭제되어 보이지 않는 값이지만 DB에는 삭제하지 않고 남겨두는 방식이다.

해당 Entity 테이블에 deleted라는 컬럼에 flag와 같이 true, false로 나타내어 구현한다.

 

JPA에서는 해당 어노테이션이 있으면 delete를 수행하는 대신 update를 통해 flag를 true로 하여 외부로는 보이지 않게 해주어 간단하게 구현할 수 있다.

 

@SQLDelete(sql = "UPDATE user SET deleted=true WHERE id=?")
@Where(clause = "deleted=false")

매번 deleted=false인 데이터만 가져오는 코드를 짤 수는 없으므로

@Where과 같이 사용하여 deleted=false인 데이터만 가져오게 짜는 것이 좋다

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함