【问题标题】:JPA Using sequences as auto increment postgresJPA 使用序列作为自动增量 postgres
【发布时间】:2012-12-04 14:55:33
【问题描述】:

我有这个代码:

@Entity
@Table(name = "table")
@SequenceGenerator(name="table_id_seq", sequenceName="table_id_seq", allocationSize=1)
public class TableExample extends BaseEntity implements Serializable {

    /**
     * The auto-generated primary key.
     */
    @Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="table_id_seq")
    @Column(name = "table_id")
    private long id;
}

我的数据库中有这个序列:

CREATE SEQUENCE table_id_seq
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 2000
  CACHE 1;
ALTER TABLE table_id_seq OWNER TO postgres;

当我试图持久化一个新对象时,我得到了这个错误:

org.apache.openjpa.persistence.PersistenceException: 错误: 当前 事务被中止,命令被忽略直到事务结束 块 {prepstmnt 642363 SELECT NEXTVAL('table_id_seq')} [code=0, 状态=25P02]

我错过了什么吗? 提前致谢

【问题讨论】:

    标签: postgresql jpa sequence


    【解决方案1】:

    错误出现在该代码之前;之前还有另一个问题导致事务中止。检查您的 PostgreSQL 服务器错误日志或 Hibernate/JPA 日志以查看第一个错误发生的位置,这才是真正的问题。

    【讨论】:

      猜你喜欢
      • 2017-03-09
      • 1970-01-01
      • 2014-05-08
      • 1970-01-01
      • 1970-01-01
      • 2012-06-22
      • 2014-07-06
      • 1970-01-01
      • 2017-05-18
      相关资源
      最近更新 更多