hibernate 对象的持久化状态。 在session.save()之后 commit()之前 数据库有对应的记录吗?
2个回答
展开全部
hibernate对象持久态是说和Session发生了关系,save、get、query。有3方面特点
1)Session中会缓存该对象(Session的缓存叫一级缓存)
2)Session再获取对象时,首先去查找一级缓存,如果没有才查询数据库
3)Session要负责将持久态对象的变化更新到数据库
(是在flush()的时候更新,在提交的时候会自动调用session的flush())
1)Session中会缓存该对象(Session的缓存叫一级缓存)
2)Session再获取对象时,首先去查找一级缓存,如果没有才查询数据库
3)Session要负责将持久态对象的变化更新到数据库
(是在flush()的时候更新,在提交的时候会自动调用session的flush())
追问
只要session没有关闭 就是持久化状态对吗?
即使commit()之后,如果session没关闭 也是持久化状态对吗?
追答
Yes 只有和session 解除关系了 才不是持久化
session.evict(Object obj):游离态
2012-04-06
展开全部
hibernate 自己有一套缓存机制,没commit()之前,都放在缓存里的
更多追问追答
追问
你的意思是commit()之前 数据库中没对应记录是吗?
追答
我确定是这样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询