使用注释扩展hibernate实体

emr*_*mre 8 java entity hibernate extend

我需要扩展一个具有相同特征的实体,而不使用抽象类.

我能编码下面的代码吗?

@Entity
@Table(name="ABC")
@SequenceGenerator(sequenceName="SEQ_ABC",name="idGenerator",allocationSize=1)
public class Abc {
.. // define members
}

@Entity
@Table(name="EX_ABC")
public class ExAbc extends Abs {
.. // define extras..
}
Run Code Online (Sandbox Code Playgroud)

thx提前

Hon*_*ons 18

是的,这个没有任何问题.但是,您应该查看继承注释.

问题是:你有一个表"Abc",其中包含field1,filed2; 然后你有ExAbc,其中包含"Abc"字段和adition field3.现在,如果你从数据库的角度思考,那么这个系统应该对这两个类做些什么呢?将它们放入一个表中,对于所有"Abc"类型的行,field3 = null?或者将它们分成两个不同的表格?或者将公共字段放在一个表中并为附加的字段3创建第二个字段?

每个解决方案都有其优点和缺点,因为您可以阅读我发布的链接,然后根据您的情况决定哪种方式最好.

(默认我认为是加入的策略,但我不会指望每个数据库都这样)