How to Implement Soft Delete with Spring Boot + JPA - Choosing Between @SQLDelete, @SQLRestriction, and Filter
This article explains how to transparently implement soft delete (logical deletion) with Spring Boot 3.x + Hibernate 6.4. It organizes a comparison between @SQLDelete + @SQLRestriction (formerly @Where) and @SoftDelete / @FilterDef so you can quickly choose the right approach, and summarizes common pitfalls such as unique constraint conflicts, restoration handling, and recording who deleted the record.