๐sql
์ ์ฌ์ฉํ๋ค๋ณด๋ฉด ๊ธฐ์กด์ ์กด์ฌํ๋ ๋ฐ์ดํฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ๋ง์ฝ ์ด๋ฏธ ์ง์๋ฒ๋ฆฐ ๋ฐ์ดํฐ๋ผ๋ฉด ์ฐพ์ ์ ์๋๋ฐ์ soft delete
๋ฐฉ์์ผ๋ก ๊ตฌํํ์๋ค๋ฉด ์์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ์ ์์ต๋๋ค.
@Entity
public class Member {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private int delete;
}
๐ง์์ ๊ฐ์ ์ํฐํฐ๊ฐ ์๋ค๊ณ ๊ฐ์ ํ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด soft delete๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค.
@SQLDelete(sql = "UPDATE member SET delete = 1 WHERE id = ?")
@Where(clause = "delete = 0")
@Entity
public class Member {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private int delete = 0;
}
๐ฅณ
@SQLDelete
์ ๊ฒฝ์ฐdelete
์ ์๋์ผ๋ก ์ ์ฟผ๋ฆฌ๋ก ๋ณํํด์ ๋๊ฐ๊ฒ ํฉ๋๋ค.
@Where
์ ๊ฒฝ์ฐ member entity๋ฅผ ๊ฐ์ ธ์ฌ ๋sql
์ "delete = 0"์ด๋ผ๋sql
์ฟผ๋ฆฌ๋ฅผ ๋ถ์ฌ์ค๋๋ค.