본문 바로가기

Backend

SQLRestriction 얼마나 아시나요?

현재 Where를 이용한 Entity 접근 시 조건 추가는 Deprecated 되어 사용이 불가합니다.

그래서 사용해야하는 것이 SQLRestriction Annotation입니다. 

SQLRestriction은 기존의 Where가 해주던 일을 대신 해주는 새로운 녀석이죠.

@SQLRestriction("is_deleted = false")

사용 방법은 다음과 같이 Where Annotation을 쓰던 것처럼 똑같이 사용해주면 되지만 주의해야할 점이 있습니다.

현재 프로젝트에서는 Soft Deleted를 BaseEntity에서 모두 관리하기 때문에 해당 Entity에서 조건을 추가한다면 다른 Entity에 자동으로 적용될 것이라 생각했지만 그렇지 않고 적용하기 위해서는 Entity 각각에 저 코드를 추가해줘야지 조건에 따른 조회가 가능합니다.