首页 新闻 会员 周边 捐助

grails 持久态问题

0
[已解决问题] 解决于 2015-09-14 11:19

上周项目中出现个bug 某个字段的值莫名的在某个时刻被修改了。最后一翻查找,结果是这样的:

def cmPersonalInstanceTOne = CmPersonal.get(params.id as Long)
cmPersonalInstanceTOne.setMerchantNo("T")
[instance:cmPersonalInstanceTOne...]

instance 对应页面取值,结果cmPersonalInstanceTOne对象对应数据库的MerchantNo值被修改成"T"。没有进行save或updaet的操作,就是有点不太理解额这块是为什么,好像跟hibernate相关,求大侠帮解答分析。
 
ㄔㄠㄩㄝˋ的主页 ㄔㄠㄩㄝˋ | 菜鸟二级 | 园豆:204
提问于:2015-09-14 10:43
< >
分享
最佳答案
0

获取

load:加载对象后,对对象的改动不会立即刷新到db,必须flush到db

ex: User user=session.load(User.class,2);

user.setName(‘gt’);

user.flush();   (延迟加载)

get:加载对象后,对对象的改动立即刷新到db

ㄔㄠㄩㄝˋ | 菜鸟二级 |园豆:204 | 2015-09-14 11:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册