首页 > 解决方案 > JPA实体序列生成

问题描述

在 Spring Boot JPA 中,我尝试实现序列生成器,但它不起作用。以下是我的实体

@Entity
@Table(name = "role_level")
public class RoleLevel implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    @Id
    @SequenceGenerator(name = "role_level_sequence", sequenceName = "role_level_id_seq",allocationSize = 1)
    @GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "role_level_sequence")
    @Column(name = "id", updatable = false)
    private Long id;

    @Column(name = "role_level")
    private String roleLevel;

    @Column(name = "role_level_description")
    private String roleLevelDescription; 


   //getters and setters

}

当我直接通过数据库插入值时,数据库中的下一个序列没有进入 jpa.it 显示

org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "role_level_pkey"
  Detail: Key (id)=(7) already exists.

但是控制台显示

Hibernate: select nextval ('role_level_id_seq')

我认为它不起作用。有什么解决办法吗?

标签: postgresqlspring-bootjpasequence

解决方案


推荐阅读