0

データベース (PostgreSQL) にシーケンスを作成し、ドメイン モデルに次の注釈を付けました。JPAを使用しています。ただし、作成するオブジェクトに ID を指定せずに Web サービス (REST) を呼び出すと、制約エラーがスローされます。ただし、以下のシーケンスの値を使用するべきではありませんか?

@Id
@SequenceGenerator(name = "user_seq", sequenceName = "user_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "user_seq")
private int id;

原因: org.hibernate.exception.ConstraintViolationException: ステートメントを実行できませんでした 原因: org.postgresql.util.PSQLException: エラー: 列 "id" の null 値が非 null 制約に違反しています

4

1 に答える 1

1

値がデータベース シーケンスから取得される場合、GenerationType.SEQUENCEを戦略として使用する必要があります。GenerationType.IDENTITYID 列で使用されます。

于 2013-05-18T17:59:04.953 に答える