JPA生命周期与detached entity passed to persist异常

来源:互联网 发布:惠普网络打印机 设置 编辑:程序博客网 时间:2024/06/05 16:43

今天写代码,需要更新数据。我先在controller里面根据id查询出数据,然后修改其中某些字段的值,传到service中做更新,结果hibernate报错:detached entity passed to persist。

然后尝试在service里面先做查询,然后修改更新,程序正常。

咨询了下架构师,说是entity从service传到controller中,由受控态变成了游离态,所以hibernate认为这是一个新数据,因为主键id存在值了,跟数据库存在主键冲突所以报错。

找到一篇说JPA实体生命周期的文章:http://blog.csdn.net/yingxiake/article/details/50968059

原创粉丝点击