hibernate
文章平均质量分 67
xueyue521q
这个作者很懒,什么都没留下…
展开
-
SessionFactory.getCurrentSession与openSession的区别
[size=medium][color=darkred]SessionFactory.getCurrentSession与openSession的区别[/color][/size]1. 如果使用的是getCurrentSession来创建session的话,在commit后,session就自动被关闭了, 也就是不用再session.close()了。但是如果使用的是openSessi...原创 2011-05-08 17:51:38 · 79 阅读 · 0 评论 -
Hibernate缓存
1. 关于hibernate缓存的问题: 1.1.1. 基本的缓存原理 Hibernate缓存分为二级,第一级存放于session中称为一级缓存,默认带有且不能卸载。 第二级是由sessionFactory控制的进程级缓存。是全局共享的缓存,凡是会调用二级缓存的查询方法 都会从中受益。只有经正确的配置后二级缓存才会发挥作用。同时在进行条件...原创 2011-05-09 20:52:01 · 64 阅读 · 0 评论 -
Hibernate延迟加载
lazy="true"表示刚开始的时候不加载子表数据。直到你请求子表的数据,它才会加载子表数据。否则,只要你的语句一创建,它就不管三七二十一,把所有的数据都取出来了。也许你要的字段不是子表中的数据,但是它在缓冲区里已经有了字表数据。参考资料:延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hi...原创 2011-05-09 21:04:29 · 80 阅读 · 0 评论 -
Hibernate中的Inverse
以前写HBM,用一对多或多对多的时候默认总是加上“inverse=true”。当时想法很简单就是由双方来维护之间的关联关系。今天才终于明白inverse的真正含义了!(1)其实inverse不复杂,但是要真正明白还是要稍微看一下源码。inverse的真正作用就是指定由哪一方来维护之间的关联关系。当一方中指定了“inverse=false”(默认),那么那一方就有责任负责之间的关...原创 2011-05-09 22:36:32 · 91 阅读 · 0 评论 -
hibernate抓取策略
hibernate抓取策略(单端代理的批量抓取) 保持默认,同fetch="select",如: fetch="select",另外发送一条select语句抓取当前对象关联实体或集合2.hibernate抓取策略(单端代理的批量抓取) 设置fetch="join",如: fetch="join",hibernate会通过select语句使用外连接...原创 2011-05-11 21:00:38 · 82 阅读 · 0 评论