临时状态 在使用主键的情况下 oid通常为null
不处于session的缓存中
在数据库中没有对应的记录
在以下情况下,Java 对象进入临时状态
当通过new语句刚创建一个Java对象 就处于临时状态,此时不和数据库中的任何记录对应
删除状态 oid不为null
从一个session实例的缓存中删除 session.delete();
session已经计划将其从数据库删除 session在清理缓存时,会执行sql delete语句删除数据库中对应记录
一般情况下 应用程序不该再使用被删除的对象
持久化状态 oid 不为空
位于session
在清理缓存时 会根据持久化对象的属性变化,来同步更新数据库
游离状态:oid 不为null
session关闭 session中的对象就没有了可调用对象 在对象设置为空时 不可调用
evict() clear() close()
判断对象是否是临时 判断oid为null若为null 则必为临时对象
不处于session的缓存中
在数据库中没有对应的记录
在以下情况下,Java 对象进入临时状态
当通过new语句刚创建一个Java对象 就处于临时状态,此时不和数据库中的任何记录对应
删除状态 oid不为null
从一个session实例的缓存中删除 session.delete();
session已经计划将其从数据库删除 session在清理缓存时,会执行sql delete语句删除数据库中对应记录
一般情况下 应用程序不该再使用被删除的对象
持久化状态 oid 不为空
位于session
在清理缓存时 会根据持久化对象的属性变化,来同步更新数据库
游离状态:oid 不为null
session关闭 session中的对象就没有了可调用对象 在对象设置为空时 不可调用
evict() clear() close()
判断对象是否是临时 判断oid为null若为null 则必为临时对象