这样配置是完全正确的,但是懒加载必须在session关闭前显示调用XXX.getXxxList();
fetch = FetchType.LAZY是说在你得到XXX的时候是否顺便把XxxList加载到缓存中
并不代表你在session关闭后还存在!
当不需要懒加载时候 fetch = FetchType.EGER可以提高执行效率
另外在many端是不用fetch = FetchType.LAZY 默认就是这种配置
一对多会出现a_b表 多对一 就不会有这个中间表 主要是自动建表的时候的生成策略不同吧
原来我也遇到过这样问题 也百思不得其解 现在想想也许是设计者就这样设计的吧 反正如果不用annotation的话 写映射文件就不会这样 我也挺奇怪的
解决方法之一:FetchType.LAZY 改为:FetchType.EAGER
原理:自行百度:hibernate延迟加载。
热门文章更多>>
标签更多>>
专题更多>>
最新文章更多>>
- 团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
- 使用 MSBuild.exe 在发布模式下构建 C# 解决方案
- 当我发布 Web 应用程序时,AfterPublish 脚本不运行
- 构建时 T4 转换的产品仅在下一个构建中使用
- ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
- 新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
- 如何将条件编译符号(DefineConstants)传递给 msbuild
- MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
- NuGet 包还原找不到包,没有源
- 使用 C# 6.0 功能运行 TFS 构建
管你看不看