512-frameworks-micronaut-data
Use when you need data access with Micronaut Data — @MappedEntity, CrudRepository/PageableRepository, @Query with parameters, @Transactional services, projections, @Version, and @MicronautTest with TestPropertyProvider and Testcontainers. For raw java.sql access without generated repositories, use @511-frameworks-micronaut-jdbc. Part of the skills-for-java project
Micronaut Data Guidelines
Apply Micronaut Data patterns for relational repositories and safe SQL.
What is covered in this Skill?
- @MappedEntity, @Id, @GeneratedValue, @MappedProperty for column mapping
- @Repository interfaces extending CrudRepository / PageableRepository
- Derived finder methods and @Query with named parameters
- @Transactional on @Singleton services (readOnly where appropriate)
- Page and Pageable for list endpoints
- DTO/interface projections for read-heavy queries
- @Version for optimistic locking
- Integration tests: @MicronautTest + TestPropertyProvider + Testcontainers
Scope: Apply recommendations based on the reference rules and good/bad code examples.
Constraints
Compile before persistence changes; verify the full build after.
- MANDATORY: Run
./mvnw compileormvn compilebefore applying any change - SAFETY: If compilation fails, stop immediately
- VERIFY: Run
./mvnw clean verifyormvn clean verifyafter applying improvements - BEFORE APPLYING: Read the reference for detailed rules and examples
When to use this skill
- Review or implement Micronaut Data repositories and entities
- Add transactions, pagination, or projections in Micronaut persistence layer
Reference
For detailed guidance, examples, and constraints, see references/512-frameworks-micronaut-data.md.