gpt4 book ai didi

jpa - JPA 实体和 DDD 实体应该是同一个类吗?

转载 作者:行者123 更新时间:2023-12-04 15:18:24 26 4
gpt4 key购买 nike

根据DDD,有些类是实体,有些类具有@javax.persistence.Entity注解。它们应该是同一个类吗?或者 JPA 实体是否应该作为映射器( https://martinfowler.com/eaaCatalog/dataMapper.html )从数据库加载 DDD 实体(并存储它们)并保持在域模型之外的机制?

如果将数据库元数据分离并存储在外部(例如,在 XML 中)会有所不同吗?如果这些类是实体,边界在哪里?我认为从 XSD(例如,使用 JAXB)或什至使用 MyBatis Generator 从数据库生成的类不是 DDD 中理解的实体。

最佳答案

这真的是一个实现细节。它们可能是也可能不是,这取决于您的 ORM 的灵活性。例如,如果您的 ORM 允许映射您的域对象而不会因持久性问题而污染它们,那么这种方法需要较少的开销,我会采用这种方法。

另一方面,如果您的 ORM 不够灵活,那么您可以采用务实的混合方法,其中您的 AR 和它的状态是两个不同的类,并且状态类足够简单,可以轻松映射。请注意,AR 仍将负责保护其此处的状态,并且不会从 AR 外部直接访问状态对象。该方法由 Vaughn Vernon 描述 here .

关于jpa - JPA 实体和 DDD 实体应该是同一个类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46227697/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com