skills/jabrena/cursor-rules-java/312-frameworks-spring-data-jdbc

312-frameworks-spring-data-jdbc

Installation
SKILL.md

Spring Data JDBC with Records

Apply Spring Data JDBC guidelines with Java records.

What is covered in this Skill?

  • Records for entity classes (immutable, constructor-friendly)
  • @Table for naming when record name differs from the table name
  • @Embedded to inline value-object columns into the parent row without a separate table
  • Repository pattern
  • Immutable updates with static factories for new rows and with* helpers for updates
  • save() INSERT vs UPDATE semantics driven by @Id nullability
  • Aggregate boundaries: one repository per aggregate root, Set for one-to-many inside the root, foreign keys between aggregates
  • Custom queries with @Query and named parameters (no user-input concatenation)
  • Transaction management (@Transactional on services; readOnly where appropriate)
  • Single query loading (N+1 avoidance)

Scope: Apply recommendations based on the reference rules and good/bad code examples.

Constraints

Before applying any Spring Data JDBC changes, ensure the project compiles. If compilation fails, stop immediately. After applying improvements, run full verification.

  • MANDATORY: Run ./mvnw compile or mvn compile before applying any change
  • SAFETY: If compilation fails, stop immediately
  • VERIFY: Run ./mvnw clean verify or mvn clean verify after applying improvements
  • BEFORE APPLYING: Read the reference for detailed rules and good/bad patterns

When to use this skill

  • Review Java code for Spring Data JDBC
  • Apply best practices for Spring Data JDBC in Java code

Reference

For detailed guidance, examples, and constraints, see references/312-frameworks-spring-data-jdbc.md.

Weekly Installs
50
GitHub Stars
360
First Seen
1 day ago