Hibernate学习笔记
来源:互联网 发布:简易建模软件 编辑:程序博客网 时间:2024/06/02 04:15
1.在hibernate的开发中,配置对象关系映射文件的时候【如跟数据库中的users表映射,需要配置users.hbm.xml】,在配置该文件的时候,属性的type选择项有两种配置方式,一种是java语言的配置方式,一种是hibernate类型的,例如:
对于普通属性的配置:
<property name = "userName" type="java.lang.String"> 【这种就是java类型的】
<property name = "userName" type="string"> 【这种就是hibernate类型的】
2.Hibernate中使用懒加载的时候,设置lazy属性的时候,不要在one-to-many的one的一方的<set /> ,可以再many的一方配置lazy = false,这样性能会有改观,hibernate中的懒加载如果使用不当,会造成性能的大大降低!
3.懒加载:当我们查询一个对象的时候,在默认情况下,返回的只是该对象的普通属性,当用户去使用对象属性时,才会向数据库中再一次的发出查询,这种现象我们称为懒加载(lazy现象)
4.懒加载中,many-to-one的many这方,如果配置了<class name="Student" lazy="false">,那么hibernate就会在查询学生(即many方)方时,就会把相互关联的对象也查询,从后台可以看出,对select语句影响不算太大;但是,如果把one方的懒加载取消,即配置lazy = false,会发现,除了查出该部门外,还会查出跟部门关联的学生的信息全都返回,不管你是否使用,sql语句会大量增加(有多少学生,就会有查出多少个);
5.懒加载可以通过过滤器得到缓解:
需要使用openSessionInView,需要使用getCurrentSession,在过滤器中创建session,然后arg2.doFileter(arg0,arg1),在这段代码后面提交事务,在finally中关闭session的时候:
Session session = getCurrentSession();
if(session!=null &&session .isOpen() ){
s.close();
threadLocal.set(null);
}
- 【Hibernate学习笔记】hibernate入门
- Hibernate学习笔记:初识Hibernate
- Hibernate Synchronizer 学习笔记
- hibernate学习笔记1
- Hibernate 学习笔记
- Hibernate学习笔记
- Hibernate 学习笔记
- Hibernate 实例学习笔记
- Hibernate学习笔记(1)
- hibernate学习笔记
- Hibernate学习笔记(一)
- Hibernate学习笔记
- Hibernate学习笔记!- -
- Hibernate学习笔记(一)
- Hibernate学习笔记
- Hibernate 学习笔记
- Hibernate Synchronizer 学习笔记
- Hibernate 学习笔记
- c语言学习心得.2
- DIV遮罩层+AJAX异步请求
- 12个电子工程师最关心的问题
- spring单例和多例详解。如何在单例中调用多例对象
- linux 管道学习
- Hibernate学习笔记
- java中的编解码问题
- Weak Classifiers with Strong Logic(具有强逻辑的弱分类器)
- 走出浮躁的泥沼:仅专注就能胜过大部分人
- 为大楼减少电费的智能电池
- linux中select()函数分析
- Flash_Builder_4.5安装过程中安装程序遇到错误(-1)
- 【Boost】time_duration, time_period, time_iterator
- 无法连接Oracle em