Java Hibernate映射最佳实践

Java Hibernate映射最佳实践,java,hibernate,Java,Hibernate,我想知道对于以下场景是否有任何特殊的解决方案或软件设计模式。 我的Hibernate映射类有类似的属性,比如isEnabled、IsDetable、dateCreated、lastModified等等。我不想在每个类中重复属性定义,而是定义它们一次,然后将属性添加到我想要的类中。例如,ClassA可以有isEnabled和dateCreated,ClassB可以有dateCreated和IsDeleteable,ClassC可以有isEnabled、IsDeleteable和lastModifi

我想知道对于以下场景是否有任何特殊的解决方案或软件设计模式。
我的Hibernate映射类有类似的属性,比如isEnabled、IsDetable、dateCreated、lastModified等等。我不想在每个类中重复属性定义,而是定义它们一次,然后将属性添加到我想要的类中。例如,ClassA可以有isEnabled和dateCreated,ClassB可以有dateCreated和IsDeleteable,ClassC可以有isEnabled、IsDeleteable和lastModified等等。

一个选项是使用
@MappedSuperclass
注释为实体创建一个包含所需字段的超类。另一种解决方案是使用包含字段的
@Embedded
类,并使用
@Embedded
注释将它们仅添加到特定的实体中,在这种情况下,您不需要扩展超级实体。

可能与以下内容相关:搜索hibernate继承为这一问题提供了正确的答案。。。解决方案:
@MappedSuperClass
。这个问题与Hibernate无关——它是一个经典的软件设计问题。Hibernate支持所有可能的解决方案:组合、聚合和继承。