这样配置是完全正确的,但是懒加载必须在session关闭前显示调用XXX.getXxxList();
fetch = FetchType.LAZY是说在你得到XXX的时候是否顺便把XxxList加载到缓存中
并不代表你在session关闭后还存在!
当不需要懒加载时候 fetch = FetchType.EGER可以提高执行效率
另外在many端是不用fetch = FetchType.LAZY 默认就是这种配置
一对多会出现a_b表 多对一 就不会有这个中间表 主要是自动建表的时候的生成策略不同吧
原来我也遇到过这样问题 也百思不得其解 现在想想也许是设计者就这样设计的吧 反正如果不用annotation的话 写映射文件就不会这样 我也挺奇怪的
解决方法之一:FetchType.LAZY 改为:FetchType.EAGER
原理:自行百度:hibernate延迟加载。
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....