FetchType.EAGER 懒加载失败
来源:互联网 发布:大麦网源码 编辑:程序博客网 时间:2024/05/17 08:26
懒加载失败的原因 , JoinColumn对应的字段"sid"不是SidKnowledge中的主键 , 也不是其中的外键(mysql中对两个表没有做外键关联)
因为questinfo上面没有建立sidknowlege的外健,那这个时候,hibernate去查询你的questinfo,理论上懒加载是需要使用proxy的,需要proxy的情况是,知道每个questinfo都对应了一个sidknowledge对象,但是这个时候,hibernate不知道是不是每一个questinfo都对应于一个sidknowledge,那么这个时候,他就回去查询一次,确定是否有sidknowledge,那么他都去查询一次了,所以这个时候懒加载也就失效了
Hibernate的lazy生效期:
生效期和session一样的,session关闭,lazy失效
hibernate支持lazy策略只有在session打开状态下有效
重点牢记
1.Load支持懒加载,get不支持懒加载。
2.lazy的生命周期与session相同,lazy加载必须依赖于session一直开启。
3.hibernate lazy属性,在3.x后是默认打开的,在以前版本中默认是关闭的。
4.hibernate通过cjlib实现代理。
5.load方法加载出来的是代理对象。
6.可以利用Hibernate.initialize(emp)来初始化代理对象达到命中数据库
7.代理类在未命中数据库之前,他只有真实对象的ID属性,其他数据都是没有的
阅读全文
0 0
- FetchType.EAGER 懒加载失败
- FetchType.LAZY和FetchType.EAGER什么区别?(懒加载和急加载的理解)
- fetch = FetchType.EAGER
- fetch = FetchType.EAGER
- FetchType.EAGER与FetchType.LAZY的区别
- fetch = FetchType.EAGER 作用
- fetch = FetchType.EAGER 作用
- fetch = FetchType.EAGER 作用
- fetch = FetchType.EAGER 作用
- Hibernate,FetchType.LAZY和FetchType.EAGER什么区别?
- fetch = FetchType.EAGER什么时候用?
- 从Hibernate源码看@NotFound(action=NotFoundAction.IGNORE) 会导致Eager加载 @ManyToOne(fetch = FetchType.LAZY)无效
- fetch = FetchType.LAZY懒加载
- hibrenate @ManyToOne(fetch = FetchType.EAGER) 和 lazy 区别
- hibrenate @ManyToOne(fetch = FetchType.EAGER) 和 lazy 区别
- hibrenate @ManyToOne(fetch = FetchType.EAGER) 和 lazy 区别
- hibernaer--(fetch=FetchType.EAGER带来的问题)级联删除
- @Basic(fetch=FetchType.EAGER)和@Basic(fetch=FetchType.LAZY)
- React +ES6 +Webpack入门
- css创建一个链接框
- SDUT-2736 小鑫の日常系列故事(五)——卡片游戏
- [Symfony\Component\Process\Exception\RuntimeException] The Proc
- ElasticSearch按日生成index的两种方法
- FetchType.EAGER 懒加载失败
- centos打开端口
- 女性三围的检测验证js-------格式 20,30,40
- VS2010->无法启动程序 拒绝访问
- LintCode 中位数
- 08、react之 状态
- JS通用表单验证函数
- CentOS7 搭建vsftpd详细教程
- CRC校验