您的位置:首页 > 其它

JPA游离态问题

2016-01-07 17:04 232 查看

JPA 事务流程

1 开启事务

2 查询出实体(持久态)

3 CRUD操作

4 提交事务

常见游离态

1 提交事务后还存在于JVM中的实体

比如存储于session中的实体,在事务提交之后,下一个事务开启之时,它已经是游离 态。这时候再拿出来进行CRUD操作时则是游离态,事务会失败。

2 调用了JPA的detach方法

这种情况很少发生,几乎没人会去调用entityManager的detach方法。

3 不是从entityManager中获取的实体

这种情况最容易发生在拿一个实体类去接页面提交的参数的情况下。这时候,是有MVC框架创建的实体,显然与entityManager无关,这种实体明显属于游离态实体,事务会失败。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: