jpa 8
- Upgrading to Spring Boot 4, and finding out our LAZY was really EAGER because the entities were final
- Getting entities out of the web app — splitting domain modules from API modules
- A locked_yn nobody ever set to true — computing the period lock from dates instead of a flag
- If nothing gets deleted, don't call it delete — soft deletes with a status column
- An N+1 that IN clauses couldn't fix: when @OneToOne lazy loading can't create a proxy
- One method per condition is too many: a cursor-paginated dynamic query in Querydsl
- From 22 queries to 3: replacing a per-user offer lookup with a Querydsl IN clause
- Checking for duplicate emails: findBy vs countBy vs existsBy on 50,000 rows