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

标签 java hibernate jpa-2.0

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

这就是我想要的:基类:

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 中的子策略”来撤销此行为

最佳答案

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

因此,您不需要“继承”或“共享”任何东西 - 您只需使用它即可。

关于java - 在 JPA 实体的基类中定义序列生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8310784/

相关文章:

java - 如何将 SQL native 查询的结果映射到 Java POJO 类(无实体)

java - Hibernate 4.3.6 和 Glassfish 4.0 JPA 2.1 对象不是声明类的实例

Java 迭代器对 Next() 施加条件

java - 如何在布局中的 View 之间传输数据

java - MySQL + JDBC updateBlob 和 updateBinaryStream 抛出 NotUpdateable

spring - 提交带有选择字段的表单时出错

java - JPA 2 标准 API : why is isNull being ignored when in conjunction with equal?

java - 每当我说@Transactional 时,回滚每个检查的异常

mysql 查询 - 为一个巨大的表优化现有的 MAX-MIN 查询

java - 加密对话