HIbernate对象状态转换
hibernate的对象状态:
临时状态(新建状态):指对象没有保存进数据库之前的状态
持久化状态(托管状态):指对象在数据库中有,也在session中缓存
游离状态(脱管状态):指对象在数据库中有,但是不存在session缓存中
删除状态:指对象在数据库中没有,session缓存中也没有
hibernate对象状态转换:
临时状态---->持久化状态:( save() 与 persist() 的区别 )
save():赋值属性成功,不去认证你的主键生成策略
persist():如果主键生成策略设置,则不能给当前的属性赋值,做了一个认证主键的动作
注意:游离状态到持久化状态的前提条件是session没有关闭,但是session里面没有对象(即一个空的session对象)
持久化状态到删除状态是实际上是session里的对象被替换