【发布时间】:2012-02-24 09:35:50
【问题描述】:
我正在阅读 Eric Evans 关于 DDD 的书,我对以下引用有疑问。当你不应该使用属性时,你如何制作你的 equals() 方法?我正在使用 JPA,并且我有一个唯一的 id 属性,但是在您实际持久化实体之前不会设置它。所以你会怎么做?我已经根据属性实现了 equals 方法,我理解为什么不应该这样做,因为它在我的项目中失败了。
关于实体的部分:
当一个对象以它的身份而不是它的身份来区分时 属性,使其成为模型中定义的主要内容。保持 类定义简单且专注于生命周期的连续性和 身份。定义区分每个对象的方法,无论 它的形式或历史。警惕需要匹配的需求 对象按属性。定义一个保证 为每个对象产生一个独特的结果,可能通过附加一个 保证唯一的符号。这种识别方式可以 来自外部,或者它可能是由创建的任意标识符 和系统,但它必须对应于身份 模型中的区别。模型必须定义它的意义 同样的事情。
http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215
【问题讨论】:
标签: java jakarta-ee domain-driven-design