昨天下午同事突然出现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在代码层面可以指定强制使用懒加载的。
分享到:
相关推荐
在使用Hibernate进行数据库操作时,可能会遇到MySQL数据库中文排序不正确的问题。这通常是由于字符集设置、数据库...通过以上步骤,可以有效地解决MySQL数据库在Hibernate中的中文排序问题,确保数据的正确展示和检索。
有时,恢复默认设置也能解决问题。 3. **版本兼容性**:如果你使用的是Beyond Compare 3和4,这两个版本间存在一些差异。确认你使用的版本与你的系统兼容,或者尝试更新到最新版本。 4. **故障排除**:如果上述...
4. **数据比较**:Beyond Compare还具备强大的数据库对比功能,可以对比SQL Server、Oracle、MySQL等不同数据库中的表结构和数据,帮助数据库管理员快速定位和解决数据一致性问题。 5. **文本合并**:在多人协作的...
该文件里有2个压缩包:BC3ShellExFix.zip + BC4ShellExFix.zip,分别是Beyond compare3和Beyond compare4的右键菜单修复方法,具体如下: 这里介绍Beyond compare4,在32位PC机上的右键菜单修复方法: 1)先把BC4...
为了避免频繁手动处理,可以考虑使用编程自动化来解决问题。例如,使用C#编写一个小程序,执行删除 `<TCheckForUpdatesState>` 节点的操作。上面的C#代码示例展示了如何实现这一功能: ```csharp using System; ...
删除CacheID值可以清除这些异常状态,迫使软件重新生成一个新的CacheID,从而可能解决问题。 2. **保护隐私**:尽管Beyond Compare 4主要是一款实用工具,但它在运行时也会收集一些用户数据,如最近比较的文件和...
SQL Data Compare 10是一款由Red Gate Software公司开发的专业数据库数据比较工具,它主要用于帮助数据库管理员和开发人员识别并解决两个数据库之间的数据不一致问题。该软件提供了强大的功能,能够对比不同数据库...
2. 三向合并:在解决代码冲突时,Beyond Compare 3提供三向合并功能,结合本地、远程和合并结果三个版本,帮助用户找到最佳解决方案。 3. FTP与网络比对:软件支持直接连接FTP服务器进行文件比对,甚至可以在两个...
在实际应用中,BeyondCompare系列广泛用于版本控制系统如Git的冲突解决,通过可视化的方式帮助用户理解并解决代码冲突。同时,它们也是开发者调试和测试的重要辅助工具,可以快速检查代码改动对程序的影响。除此之外...
3. **合并操作**:提供“左”、“右”、“合并”等多种选择,轻松解决冲突问题。 4. **文本合并**:在处理代码冲突时,Beyond Compare的三向合并功能可以帮助用户同时查看本地、远程和合并后的版本,以便做出最佳...
在IT领域,数据管理和版本控制是至关重要的环节,而 UltraCompare 正是一款强大的文件对比软件,专为解决这类问题而设计。这款软件以其直观的用户界面和出色的对比功能,赢得了广大用户的喜爱。在本文中,我们将深入...
《Notepad++ ComparePlugin X86深度解析与应用》 Notepad++,作为一个广受欢迎的开源文本编辑器,因其轻量级、可扩展性及强大的编程功能而深受开发者喜爱。在众多的Notepad++插件中,ComparePlugin是其中一个极具...
beyondcompare加入右键菜单方法 Beyond Compare是一款功能强大的文件比较工具,它可以帮助用户快速比较和同步文件。但是,默认情况下,Beyond Compare并不提供直接在右键菜单中访问的功能。这就需要用户手动打开...
在“主界面及帮助文件的错误.doc”中,可能包含了对 UltraCompare_Pro 使用过程中遇到的问题及解决方案,用户可以通过查阅这份文档,解决在操作过程中遇到的困惑。而“uc_chinese.exe”是UltraCompare的专业中文版,...
此方案是通过手动更新注册表进行强制修改,与官方的修复工具效果一致。 方案二:(亲测生效) ...在Beyond Compare目录C:\Program Files\Beyond Compare 4下,用管理员身份运行bat脚本。 RegContextMenu.bat
CloudCompare是一款功能强大的开源软件,专门用于三维点云数据的处理和分析。它的最新版本为2.5.1,提供了一系列先进的工具和技术,...用户通过掌握这款软件,能够高效地处理点云数据,提升工作效率,解决实际问题。
Beyond Compare提供了强大的文本合并功能,可以将多个版本的修改整合到一起,避免手动解决冲突的繁琐工作。 3. **版本控制**:与Git、SVN等版本控制系统集成,可直接查看文件的版本历史,并对比不同版本间的差异。 ...
CloudCompare是一款开源的3D点云处理软件,其源码的获取和编译对于开发者和研究者来说具有很高的价值。本资源包含CloudCompare的源码,版本为trunk-2.5.1,同时整合了两个基于Point Cloud Library(PCL)的自定义...