0

私はこのコードを持っています:

@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;
}

そして、データベースに次の SEQUENCE があります。

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')} [コード = 0、状態 = 25P02]

私は何かが欠けていますか?? 前もって感謝します

4

1 に答える 1

2

そのコードの前にエラーが発生しました。トランザクションが中止される原因となった別の問題が以前にありました。PostgreSQL サーバーのエラー ログまたは Hibernate/JPA ログを調べて、最初のエラーが発生した場所を確認します。これが本当の問題です。

于 2012-12-17T14:12:18.287 に答える