jpa持久化对象四种状态

Posted mumu122gis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jpa持久化对象四种状态相关的知识,希望对你有一定的参考价值。

自己理解,不完全正确,大致如下:

 

例:某实体类   Person(int id,string name,int age);   id 为主键。

新建:new Person(),  并且未给 id 赋值;

游离:new Person(),  并且给 id 赋值;或者数据库获取的Person 类实例,然后关闭了session;

持久化:从数据库获取的Person 类实例;

删除:删除持久化的对象;

技术分享图片

技术分享图片

上面游离状态的对象  进行 persist  会报 detach xxx 错误(也有可能是 flush 后或者事务提交后才报错 )

 

以上是关于jpa持久化对象四种状态的主要内容,如果未能解决你的问题,请参考以下文章

hibernate中实体类对象的四种状态

Hibernate 几种对象状态

Hibernate Session对象核心方法

>hibernate的四种状态

JPA - 持久化对象时何时使用 getTransaction()

java中transient的用法