What problem does it solve? Designing the data layer in Spring Data JPA often leads to inconsistent entities, broken encapsulation from Lombok misuse, N+1 query problems, and misplaced transaction boundaries. This Skill provides a complete set of conventions and code templates to build a correct, maintainable JPA data layer. ## Core Features & Use Cases - Entity Design Standards: Enforces BaseEntity with audit fields, forbids @Data/@Setter on entities, and mandates domain methods plus correct equals()/hashCode() implementations. - Relationship & Query Patterns: Provides templates for bidirectional mappings with FetchType.LAZY, derived queries, JPQL, and N+1 solutions via JOIN FETCH, @EntityGraph, and @BatchSize. - Transaction, Soft Delete & Migration Rules: Defines @Transactional placement on services, soft delete with @Where filters, and Flyway migration naming conventions. - Use Case: When adding a new Order entity with items to a Spring Boot project, use this Skill to generate the entity, repository, and service layer following all encapsulation and lazy-loading rules, then verify with the pre-commit checklist. ## Quick Start Ask the AI to create a new JPA entity with its repository and service following the Spring Data JPA skill conventions.