用户登录
用户注册

分享至

hibernate一对多配置

  • 作者: 水上莲O
  • 来源: 51数据库
  • 2020-09-21
这样配置是完全正确的,但是懒加载必须在session关闭前显示调用XXX.getXxxList();
fetch = FetchType.LAZY是说在你得到XXX的时候是否顺便把XxxList加载到缓存中
并不代表你在session关闭后还存在!
当不需要懒加载时候 fetch = FetchType.EGER可以提高执行效率
另外在many端是不用fetch = FetchType.LAZY 默认就是这种配置



  一对多会出现a_b表 多对一 就不会有这个中间表 主要是自动建表的时候的生成策略不同吧
原来我也遇到过这样问题 也百思不得其解 现在想想也许是设计者就这样设计的吧 反正如果不用annotation的话 写映射文件就不会这样 我也挺奇怪的



  解决方法之一:FetchType.LAZY 改为:FetchType.EAGER

原理:自行百度:hibernate延迟加载。
软件
前端设计
程序设计
Java相关