上周项目中出现个bug 某个字段的值莫名的在某个时刻被修改了。最后一翻查找,结果是这样的:
def cmPersonalInstanceTOne = CmPersonal.get(params.id as Long)
cmPersonalInstanceTOne.setMerchantNo("T")
[instance:cmPersonalInstanceTOne...]
instance 对应页面取值,结果cmPersonalInstanceTOne对象对应数据库的MerchantNo值被修改成"T"。没有进行save或updaet的操作,就是有点不太理解额这块是为什么,好像跟hibernate相关,求大侠帮解答分析。
获取
load:加载对象后,对对象的改动不会立即刷新到db,必须flush到db
ex: User user=session.load(User.class,2);
user.setName(‘gt’);
user.flush(); (延迟加载)
get:加载对象后,对对象的改动立即刷新到db