JPA不使用序列

时间:2013-05-18 17:55:24

标签: java java-ee jpa

我在数据库中创建了一个序列(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”中的空值违反非空约束

1 个答案:

答案 0 :(得分:1)

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