hibernate 对象的持久化状态。 在session.save()之后 commit()之前 数据库有对应的记录吗?

如果没有对应的记录,持久化对象这个取名从何得来?... 如果没有对应的记录,持久化对象这个取名从何得来? 展开
 我来答
zh__ming
2012-04-06 · TA获得超过426个赞
知道答主
回答量:118
采纳率:100%
帮助的人:78.7万
展开全部
hibernate对象持久态是说和Session发生了关系,save、get、query。有3方面特点

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()之前 数据库中没对应记录是吗?
追答
我确定是这样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式