在JPA实体的基类中定义序列生成器?

时间:2011-11-29 12:36:20

标签: java hibernate jpa-2.0

是否可以在jpa2.0实体中继承基类的序列生成器?这样做的目的是将所有实体的id属性放在一个公共基类中,每个实体只需要定义自己序列的名称。

这就是我想要的:基类:

public abstract class BaseClass {

   @Id
   @GeneratedValue( strategy = GenerationType.AUTO, generator = "mySeqGenerator")
   Long id;
}

和实施

@Entity
@SequenceGenerator( name = "mySeqGenerator", sequenceName = "the_seq" )
public class MyEntity extends BaseClass {
   [..]
}

我正在使用hibernate,并通过“HHH000138:在实体层次结构中混合继承策略,忽略MyEntity中的子策略”来撤销这个“

1 个答案:

答案 0 :(得分:0)

所有生成器都是全局到持久性单元,尽管它们是如何定义的(在类级别,字段级别或orm.xml中的注释中)。

因此,您无需“继承”或“分享”任何内容 - 您只需使用它即可。