您的位置:首页 > 其它

hibernate做查询操作出现更新问题:

2017-04-28 10:10 295 查看


出现问题:首先这段代码在action层,查询出RsLeave类后修改这个类的type属性(红色箭头所示),后面继续进行RsLeave关联类的查询(绿色箭头所示),程序运行后发现数据库中当前RsLeave中type值已经被修改,因此推出虽然表面进行只是查询,但其实内部也发生了更新操作。

解决办法:1:把修改type属性的操作放到所有查询操作后

2:在事物层的查询方法中添加事物为只读(@Transactional(readOnly=true))

问题分析:hibernate在做查询操作的时候会去查找session中当前类的属性值与关联类的属性值是否发生改变,如果发生改变则会进行更新操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate
相关文章推荐