본문 바로가기

안녕세계

검색하기
안녕세계
프로필사진 김준홍
Today:   |  Total:

  • 분류 전체보기 (182)
    • My Trace (41)
      • 회고 (4)
      • SK고용디딤돌2기 (31)
      • T아카데미 (6)
    • Language (43)
      • Kotlin (5)
      • Java (8)
      • Python (27)
      • JavaScript (3)
    • Server (39)
      • Architecture (2)
      • Spring (10)
      • JPA (4)
      • MyBatis (2)
      • Django (15)
      • Node.js (6)
    • Client (23)
      • Vue.js (2)
      • Android (21)
    • Infra (17)
      • AWS (5)
      • Linux (8)
      • Web (4)
    • Database (11)
      • MySQL (6)
      • Redis (3)
      • Oracle (1)
      • H2 (1)
    • Git (5)
    • Etc (3)
Notice
  • 티스토리 블로그 시작!
Recent Posts
Recent Comments
관리 메뉴

안녕세계

[JPA] Soft Delete 적용하기 : @Where vs @SQLRestriction

JPA에서 논리적 삭제(Soft Delete)를 구현할 때 자주 사용하는 방법으로 Hibnerate의 @Where와 @SQLRestriction 어노테이션이 있습니다. 두 어노테이션 모두 특정 컬럼 값을 기준으로 데이터를 자동으로 필터링할 수 있도록 지원합니다. 하지만, 각 어노테이션은 Hibernate 버전에 따라 지원 여부와 동작 방식에 차이가 있으며, 특히 Hibernate 5.x의 @Where는 JOIN 연산 시 전역 조건이 제대로 적용되지 않는 한계가 있습니다. 본 글에서는 실제 테스트 사례를 통해 @Where 어노테이션의 한계를 분석하고, 이를 해결할 수 있는 Hibernate 6.x의 @SQLRestriction 어노테이션을 소개합니다.@Where 어노테이션과 한계@Where는 엔티티 클래스..

Server/JPA 2025. 3. 15. 13:04
Prev 1 Next

티스토리툴바