用途:在 ddd4j-javalin 服务中统一处理数据访问与事件存储集成,涵盖 MyBatis、JPA/PostgreSQL、Repository、事务、EntityManagerFactory(EMF)、EventStore、Projection 和 Outbox。适用场景包括把 Repository SPI、事务边界接入 6.7.x、7.1.x 或 7.2.x 服务,分配 EMF、EventStore、Projection、Outbox 的生命周期归属与初始化顺序,参与聚合就绪判定,以及运行真实数据库往返测试(事务、冲突、Projection 推进、Outbox 投递)。使用方式:先用 ddd4j-javalin-version-selection 确认维护线,再在当前分支定位数据模块、EMF 装配与数据库测试;选择 MyBatis 或 JPA/PostgreSQL,确认 Repository 实现与事务边界;为每个组件登记唯一生命周期负责人,验证 drain、幂等关闭和数据库就绪贡献;用真实数据库跑测试,内存替代或跳过容器须报告为 BLOCKED/SKIPPED。限制:不用于设计聚合模型、Repository SPI 签名或事件契约(用 ddd4j-core);不用于 Outbox 消息传输(用 ddd4j-javalin-mq);不用于路由级校验(用 ddd4j-javalin-web);不用于生产加固评审(用 ddd4j-javalin-production-hardening);不用于 Spring Boot、Quarkus、Spring Cloud 数据装配;不适用于无 ddd4j 的通用 JPA/MyBatis 项目。安装:npx skills add full-stack-skills/ddd4j-skills --skill ddd4j-core。注意事项:JPA EMF 必须恰好一个生命周期负责人;接口默认方法未覆盖会在首次使用时抛 UnsupportedOperationException;Outbox 投递与业务事务是两回事;就绪状态必须反映真实数据库可用性;初始化顺序决定部分失败时的逆序关闭;各维护线的 JDK 契约不同,7.2.x 专属语法不得泄漏到 6.7.x/7.1.x。缺失目标线、实现或配置时,输出 missing 项与提供方式并继续只读检查。
ddd4j-javalin-data
数据与分析
更新于 10-15 21:48