昨天下午同事突然出现hibernate查询问题,vo对象的子表对象集中只有1条数据,但是对应的数据库却是三条。
首先想到的是懒加载的问题,因为业务需要我做了封装,查询单条记录并未使用get,而是封装了业务条件,使用了find,但是经验证排除。
将hibernate打印出的sql放入DB中执行之后发现确实查询出了所有记录。当时比较疑惑,但是确实是将解决问题的重心放在hibernate之上,后来lizhi92574提示应该重写equals与hashcode方法,才突然想起,hibernate子表set用的是SortedSet接口,对于传入对象是有要求的,equals或compare方法总之是要保证对象之间比较的不相等性。于是马上回过头查看vo父类(在此次开发中将vo,action,manager,dao层都进行了封装与抽象)的compare方法,发现出错,竟然比较的是两个相同的对象.....bs下自己,公共的东西一定要谨慎再谨慎啊。
想请教的问题:
在昨天的排错过程中,发现在lazy设置成false的情况下,在子表Set的对应set方法执行时,hibernate并未打印对应子表的查询语句,而是用到此Set集合之时,hibernate才打印了查询语句,是否说明lazy=false没有效果?求解。
顺便学到了,原来hibernate在代码层面可以指定强制使用懒加载的。
分享到:
相关推荐
Java Persistence with Hibernate is the new bible of Hibernate. As a major revision of the popular Hibernate in Action, it builds on the same single example application to introduce and explain the ...
Compare用法Compare用法Compare用法Compare用法Compare用法Compare用法
该文件里有2个压缩包:BC3ShellExFix.zip + BC4ShellExFix.zip,分别是Beyond compare3和Beyond compare4的右键菜单修复方法,具体如下: 这里介绍Beyond compare4,在32位PC机上的右键菜单修复方法: 1)先把BC4...
解决Beyond Compare左键不显示比较项的程序,Beyond Compare3和Beyond Compare4都可以,亲测可用,操作简单
compare it 注册码。在4.2B版本上使用无问题
CloudCompare-2.10.3资源包,解决下载慢的问题。CloudCompare工具是一个非常好的处理点云数据的开源工具,有个不错的框架,很多公司对该工具进行二次开发以满足公司需要。第一次使用CloudCompare感觉非常好用。有...
UltraCompare 文件比较 已破解
比较工具,用于比较任何文本文件,包括.c文件、.cpp文件、.h文件等,或者比较文件夹;Beyond Compare.zip 解压之后直接可以使用
英文 CloudCompare v2.6.1使用手册,免费,共享。本文档主要针对CC的说明,使用,介绍比较详细。CloudCompare v2.6.1使用手册,免费,共享。本文档主要针对CC的说明,使用,介绍比较详细。
cloudcompare的汉化包,需要的可以自己下载。需说明的一点是,上传的是QLinguist的ts文件,不是发布版的qm文件,里面是部分翻译,下载后可以打开QLinguist自己翻译,然后发布即可。另一点需说明的是,cloudcompare...
data compare tool for sql server 2008
将文件夹【hpu】和文件【CloudCompare-Chinese.exe】复制到Cloudcompare安装根目录,如【D:\Program Files\CloudCompare】 双击CloudCompare-Chinese.exe打开
beyondcompare加入右键菜单方法
CloudCompare_v2.6.3.beta_bin_x64.7z 直接点exe,无须安装, 绿色环保安全,显示点云效果很好,请放心使用. ...CloudCompare软件是开源免费使用的,用户可以进行二次开发,解决更多的关于三维图像的处理问题。
把ComparePlugin.dll文件放进ComparePlugin文件夹中,再把ComparePlugin文件夹放进npp安装目录下的plugins文件夹中,重启npp即可
ultracompare注册机 注册码 keygen 注册时同ultraedit一样需要断开网络连接 希望大家注册成功
删除BeyondCompare4注册表里CacheID的值
Beyond Compare 3 提示许可证密钥已被撤销解决方法
cloudcompare2.12版本
Notepad++ ComparePlugin X86