Closed 0xbillw closed 10 years ago
感谢你的关注。 1、针对第一个问题,我准备提供一个不提供ID字段的基类。同时需要说明的是:我提供AbstractEntity这个基类只是一种便利设施,但是不要求所有的实体类都从这个基类继承。推荐的方式是实现Entity接口。考虑到DDD“聚合”的概念,理论上,只有聚合根才能够写数据库,非聚合根实体拥有save()、remove()等方法可能会打破聚合所要求实现的业务规则的不变性。 2、推荐的实体继承策略是单表策略。TABLE_PER_CLASS方式不支持倒是没有考量到。 3、多谢指教,指出持久化注解该写在getter上。以前没考虑过这个问题。我们的项目中已经有很多类是继承自AbstractEntity,所以已经难以修改了。我打算提供另一个实体基类来纠正这个问题。
AbstractEntity作为DDD的基类,在使用时我发现了的几个问题: