常见于id不对应。
笔者为例
entity代码:
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private Long id;
调用代码:
Person person = new Person();
person.setId( 1L ); -- 主要在这一句
person.setName("John Doe");
entityManager.persist( person );
entityManager.flush();
entity中的id设置为自增,但是代码中又setId,所以报错了。
解决方法: 注释掉@GeneratedValue 这一行即可。