PostgreSQL和SpringBoot(JPA)中创建序列的问题

时间:2016-06-24 18:10:28

标签: hibernate postgresql jpa spring-boot

我在PostgreSQL中创建一个序列有问题,我使用SpringBoot / Hibernate / JPA来解决这个问题,当应用程序创建表和序列时,Hibernate不使用 schema 属性对于@SequenceGenerator。

   @Entity
   @Table(schema=Schemas.ADMIN, name="tbl_client")
   public class Client implements CommonsEntity<Integer>{

   private static final long serialVersionUID = 1L;

   static final String SQ_CLIENT = "sq_client";

   @Id
   @Column(name="id_client")
   @GeneratedValue(generator=Client.SQ_CLIENT, strategy=GenerationType.AUTO)
   @SequenceGenerator(schema=Schemas.ADMIN, name=Client.SQ_CLIENT    sequenceName=Client.SQ_CLIENT, initialValue=1, allocationSize=1)
   private Integer id;

在Postgre中创建的序列是:创建序列sq_client

我使用SpringBoot 1.3.5和Hibernate 4.3.11。

感谢。

1 个答案:

答案 0 :(得分:1)

我认为您对GeneratedValue使用的策略不正确。

  @Id
  @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = SQ_CLIENT)
  @SequenceGenerator(name = SQ_CLIENT, sequenceName = SQ_CLIENT,
      allocationSize = 1,initialValue=1)
  private long id;