【问题标题】:Problems for create sequence in PostgreSQL and SpringBoot (JPA)在 PostgreSQL 和 SpringBoot (JPA) 中创建序列的问题
【发布时间】:2016-10-27 10:38:04
【问题描述】:

我在 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中创建的序列是:create sequence sq_client

我使用 SpringBoot 1.3.5 和 Hibernate 4.3.11。

谢谢。

【问题讨论】:

  • 我使用 Hibernate 5 和 SpringBoot 1.4.X 解决了。

标签: hibernate postgresql jpa spring-boot


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-03-20
    • 1970-01-01
    • 2011-02-18
    • 2020-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多