spring-boot-data-ddd

Automate Spring Boot 4 DDD data layer construction with aggregates, events, and repositories.

21|4|Updated Oct 24, 2025
One-click install
npx skills add https://github.com/joaquimscosta/arkhe-claude-plugins --skill spring-boot-data-ddd
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: spring-boot-data-ddd
Source: https://github.com/joaquimscosta/arkhe-claude-plugins/tree/main/spring-boot/skills/spring-boot-data-ddd
Command: npx skills add https://github.com/joaquimscosta/arkhe-claude-plugins --skill spring-boot-data-ddd

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Implements DDD tactical patterns with Spring Data JPA/JDBC, including aggregates, value objects, projections, and auditing.

Core Features & Use Cases

  • Aggregate roots with domain events
  • Value objects and immutable patterns
  • Projections for read models and efficient queries
  • Auditing with created/modified timestamps

Quick Start

Use the examples to implement a DDD-aligned data layer in Spring Boot 4.

Frequently Asked Questions about spring-boot-data-ddd

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement DDD patterns in Spring Boot with JPA?

Implement DDD patterns in Spring Boot by using aggregate roots with domain events, value objects, and repositories. This Skill automates wiring aggregates, @Embedded value objects, AbstractAggregateRoot, and transactional services aligned with Spring Boot 4 and Jakarta EE 11, ensuring immutability and per-aggregate transactions.

What's the best way to avoid N+1 queries in a Spring Data JPA data layer?

Use EntityGraph with Spring Data JPA to batch-load related entities and avoid N+1 query problems. This Skill demonstrates EntityGraph configuration within a DDD-structured data layer, optimizing read patterns while maintaining domain boundaries.

How do I set up read-optimized queries with projections in Spring Boot?

Configure projections in Spring Data JPA to fetch only required fields for read models, reducing payload and improving query performance. This Skill includes projection patterns integrated into a DDD data layer for efficient, denormalized reads.

Can I use Spring Data JDBC with DDD aggregate patterns?

Yes, Spring Data JDBC works with DDD aggregates and domain events. This Skill supports both JPA and JDBC persistence, applying aggregate roots, value objects, and transactional services for domain-driven designs regardless of ORM choice.

How do I add auditing timestamps to entities in a DDD data layer?

Spring Data provides auditing annotations for created and modified timestamps. This Skill demonstrates integrating auditing within a DDD structure, maintaining domain model purity while capturing temporal metadata automatically.

What's the difference between value objects and entities in DDD repositories?

Entities have identity and lifecycle; value objects are immutable and identified by attributes. This Skill uses @Embedded value objects for immutability and shows how to structure repositories and aggregates to enforce these distinctions in Spring Boot 4.