用途:在 ddd4j 项目中做持久化选型、实现与评审,处理聚合根与 PO/Entity 映射、Query 持久化作用域、EventStore 端口、Projection 读模型、Transactional Outbox,以及事务边界、租户隔离、加密字段与审计。
主要能力:同步 SQL 用 JDBC/JDBI;ORM 用 JPA;Mapper 用 MyBatis/MyBatis-Plus;响应式用 R2DBC;Quarkus 用 Panache;事件存储可用 JDBI/JPA/R2DBC/Panache/ESDB EventStore;读模型用 Projection 配合调度器或仓储;可靠发布用 Transactional Outbox。核心规则包括聚合根与 PO 分离、Repository 端口在 core 而实现在 data、EventStore 追加需校验期望版本与批量原子性、Projection 位置更新与读模型写入需显式事务和幂等、Outbox 与业务写入同事务后再 claim/send/confirm。
使用方式:先按聚合决定快照仓储还是事件溯源,再定义聚合/PO/Query 映射,然后选技术,接着固定事务边界、租户作用域、加密与审计,需要时加 Projection 或 Outbox,最后用真实数据库测试方言、回滚、并发、顺序与崩溃恢复。
适用场景:持久化选型、领域对象映射、EventStore/Projection/Outbox 实现与评审。
限制:不负责聚合或领域模型设计(用 ddd4j-core)、ORM 字段元数据(用 ddd4j-annotation)、提交后可靠投递到 broker(用 ddd4j-mq);不适用于无 ddd4j 契约的通用 MyBatis-Plus/JPA 用法;H2 单元测试不能作为生产数据库证明。安装:npx skills add full-stack-skills/ddd4j-skills --skill ddd4j-data。