java通过id查询对象再set值会自动执行hibernate的update吗

今天出现一个bug,通过id查询出一个对象,然后对这个对象进行set属性,我没有执行update,后台打印出了hibernate的update语句。。。把set去掉,这条... 今天出现一个bug,通过id查询出一个对象,然后对这个对象进行set属性,我没有执行update,后台打印出了hibernate的
update语句。。。把set去掉,这条语句就不会输出来。。。我那个对象没有外键,一个很普通的实体对象。。为什么会出现这种情况???
(set那个属性,通过id查询出的对象原本是有值的,set后会自动执行update吗???)
set的那个属性,通过id查询出来的对象那个属性原本是有值的,set后会自动执行hibernate的update??
展开
 我来答
fuhaiwei
推荐于2017-11-25 · TA获得超过3409个赞
知道大有可为答主
回答量:974
采纳率:75%
帮助的人:1384万
展开全部
对啊,
你通过get(id)拿到的对象,就是持久化对象。
你对持久化对象的任何更改,会在session.flush或者提交事务的时候更新到数据库。
不过也要结合事务。
如:
开启事务。
查询对象。
改变对象。//不需要显示的update。
提交事务。

就可以更新数据库。

建议学习一下hibernate的瞬态,持久态,托管态。
迷糊百味
2013-07-02 · TA获得超过108个赞
知道答主
回答量:76
采纳率:0%
帮助的人:58.7万
展开全部
以前见过这种现象,现在不记得是什么了,但非常确定那不是什么BUG,而是SQL语句导致了数据库内部严重的错误,从而使Hibernate无法打印出SQL语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
殇心影誓
2013-07-02 · TA获得超过121个赞
知道答主
回答量:111
采纳率:0%
帮助的人:89万
展开全部
把你那一块的代码贴出来看看,我是没见过这中情况啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式