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”列中的空值违反非空约束

4

1 回答 1

1

当值来自数据库序列时,应使用GenerationType.SEQUENCE作为策略。GenerationType.IDENTITY与标识列一起使用。

于 2013-05-18T17:59:04.953 回答