如何在Spring中为所有实体使用自定义SequenceGenerator for Hibernate?

时间:2016-04-12 06:52:16

标签: spring hibernate jpa spring-data-jpa

我已经实现了一个自定义SequenceGenerator,我希望在我的所有实体中使用" id"。但不必为每个实体执行this之类的操作:

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "XyzIdGenerator")
@GenericGenerator(name = "XyzIdGenerator",
        strategy = "com.mycompany.myapp.id.BigIntegerSequenceGenerator",
        parameters = {
            @Parameter(name = "sequence", value = "xyz_id_sequence")
        })
public BigInteger getId()
{
   return id;
}

有没有办法在默认情况下使用vanilla Hibernate / JPA或者使用Spring将这个SequenceGenerator应用于所有实体?

1 个答案:

答案 0 :(得分:0)

只需将代码段移动到超类,添加@MappedSuperclass即可。但是,在这种情况下,您的所有实体都将使用相同的seq生成器

sTime