常见于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 这一行即可。