- 浏览: 2288817 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (314)
- JAVA基础知识 (54)
- Java-IO/FIle (16)
- Java-JDBC (4)
- JAVA-新增特性-注解 (3)
- Java-枚举 (2)
- Java-泛型 (1)
- Java-多线程 (15)
- Java-XML (4)
- Java-JMS(消息服务) (4)
- Java-JVM (0)
- Web Service服务 (7)
- Jsp (10)
- js (18)
- Struts框架 (11)
- Spring框架 (29)
- Hibernate框架 (28)
- Spring Boot框架 (2)
- ExtJS前端框架 (29)
- Jquery js库 (8)
- JUnit框架 (8)
- Selenium 测试 (1)
- NoSql---Redis (6)
- ORACLE数据库 (45)
- MySQL数据库 (4)
- tomcat (3)
- Nginx反向代理服务器 (4)
- web应用服务器通用知识 (3)
- 开发工具IDE (14)
- UML建模 (1)
- SVN CVS 版本管理 (6)
- git 分布式版本管理 (4)
- 报表设计 (5)
- 文件上传下载 (2)
- 数据算法 (1)
- 存储过程 (5)
- JSON 相关 (1)
- OGNL表达式 (3)
- Util工具包 (9)
- 设计模式 (15)
- linux 相关 (3)
- life think (3)
- 工作流管理框架 (1)
- 大数据-Hadoop (1)
最新评论
-
huih:
很不错的文章
SpringMVC+Hibernate+Spring 简单的一个整合实例 -
calm01:
学习了.
Spring <bean>标签属性 Autowire自动装配(转载) -
lizhenlzlz:
我的也是拦截不了service层
SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)(转载) -
josh_123:
讲的不错,很详细,如果quartz定时任务类采用不继承任何类的 ...
Spring,jdk定时任务的几种实现以及任务线程是串行还是并行执行(转载) -
human_coder:
你知道eclipse调试怎么可以回调吗?有时候总是调快了,不能 ...
Debug---Eclipse断点调试基础
1.虽然继承了HibernateDaoSupport这个类,但是this.getSession(),获得的session也要在使用后即使关闭,因为这个session是原生的session不是经过sping代理过的,并且还没有事物管理,自动提交,自动关闭连接等功能,所以使用使用getSession()获得session时一定要关闭。
2.使用getHibernateTemplate()中的1.exceute(callback) 2. executeFind(callback) 3.execute(callback, boolean)时一定要注意:1和2会点方法中使用的session都是经过spring代理过的会自动关闭,但是3最后一个参数标示的是:回调函数中使用的session是否是本地的(没有经过是spring代理过,没有自动关闭连接的功能)。true:本地的 false:spring代理过的(不用但是session是否关闭)
3.spring的bean的默认管理都是单列模式,在ssh整合中保证各dao的的实例是无状态的,佛则在一旦有某个方法设置状态之后,别的方法也就有了状态,但是别的方法又不需要这个状态,或者对别的放产生了别的不好的影响:例如
getHibernateTemplate().setMaxResults(3);
一旦是给HibernateTemplate设置了最大输出记录数,那么以后调用这个类中的别的方法的最大记录数也就是3个,对别人调用这个类的别的方法产生的副作用,除非你再次设置你想要的最大记录数,setMaxResults(10);
4,都说Spring 和 Hibernate是绝配。今天有点小小心得,拿出来共享一下。 当我们费了九牛二虎之力终于把环境全配好之后,有一个问题摆在面前: 如何访问数据库? 通过继承HibernateDaoSupport我们有两个选择: getSession().createQuery("from Users"); getHibernateTemplate().find( "FROM Users); 用哪个呢?困惑啊。 网上找了找资料都是推荐用getHibernateTemplate,原因说的不是很清楚。 于是我做了如下测试: 分别循环调用getSession().createQuery("from Users");getHibernateTemplate().find( "FROM Users); 1000次 结果getSession()很快就包无法建立连接了。而getHibernateTemplate屁事没有可以跑完。 通过后台观察,使用getSession会在数据库中留下很多SQL*Net message from client的连接,终止测试后连接自动释放。 而getHibernateTemplate则从头到尾都使用一个连接。 难道是getSession()不会自动释放连接? 于是我又分别循环调用getSession().createQuery("from Users");getHibernateTemplate().find( "FROM Users); 5次 发现当前端程序一结束, getSession的5个连接立刻就释放了。结合前面1000次时终止测试后连接自动释放,可以说明getSession()是 会自动释放连接的。 结论: 1、getSession()和getHibernateTemplate都可以自动释放连接(当然你的配置要正确),但是在一个线程内 getSession会get很多个session(就是开很多个会话、连接),很可能导致数据库连接超过上限。所以推荐使用 getHibernateTemplate。 2、如果有些语句无法用getHibernateTemplate实现,可以使用getHibernateTemplate.execute使用 HibernateCallback回调接口。 另:可以设定HibernateTemplate的AllowCreate为True,并在finally中关闭Session。也可以将true作为参 数传递到super.getSession(..)方法中取得Session。这样也可以,就是麻烦点。 参见: http://springframework.org/docs/api/org/springframework/orm/hibernate3 /HibernateTemplate.html http://www.mxjava.com/blog/article.asp?id=246 请各位高手不吝赐教。 另:用myEclipse自动生成的HibernateDAO代码中。4.1.1版本的myEclipse自动生成的findById方法使用的是 getSession方法获得连接, 不过在6.0中已经修改为使用getHibernateTemplate方法。5.0的没有测试。 getSessionFactory().getCurrentSession()
发表评论
-
教你使用Hibernate的QBC查询(转载)
2015-12-18 17:19 4179转载自:http://developer.51cto.com ... -
hibernatesynchronizer3开发工具的使用方法
2014-11-24 14:35 25471. hibernatesynchronizer3可以帮助 ... -
Hibernate锁机制(悲观锁,乐观锁)
2014-09-24 17:16 2025锁(locking) 业务逻辑的实现过程中,往往需要保证 ... -
六种方式实现hibernate查询,及IDE推荐 (转载)
2014-07-16 18:13 1206hibernate查询的6种方法。分别是HQL查询,对象 ... -
SpringMVC+Hibernate+Spring 简单的一个整合实例
2014-07-04 16:14 87645SpringMVC又一个漂亮的web框架,他与Struts2 ... -
Struts2、hibernate和spring下载,整合所需jar包
2014-07-04 16:00 4414ssh三个框架各自所有版本下载地址如下 Struts f ... -
Hibernate Criteria的 Criterion,Projection,Restrictions等条件设置
2014-04-01 16:46 37959在查询方法设计上可以灵活的根据Criteria的特点来方便 ... -
Hibernate的Example示例查询
2013-07-29 17:32 3964org.hibernate.criterion.Ex ... -
Spring与Hibernate集成中的session问题
2013-04-15 15:53 31171.通过getSession()方法 ... -
剖析Hibernate主键生成几种常用方式
2012-12-05 20:01 12731.assigned: 主键由外部程序负责生成,无需H ... -
正确理解Hibernate Inverse (转)
2012-12-05 11:02 1315通过Hibernate Inverse的设 ... -
Hibernate中session.getconnection()的替代方法
2012-08-27 16:39 51182010-04-15 10:21 Hibernate ... -
Hql总结 查询结果动态组装成List(map),List(bean),List(list),List(set)等格式(转)
2012-08-17 15:51 72731.//查询整个对象String hql="from ... -
sql和hql中join语句区别,以及hibernate中内连接,迫切内连接,左外连接,迫切左外连接,右外连接的区别(合集)
2012-07-24 17:39 3118第一:sql和hql中join语 ... -
Hibernate_HQL--实体、属性查询,参数绑定,引用查询(随时温习一遍)
2012-07-05 17:52 15871是Hibernate官方推荐的查询模式,比Criteria功能 ... -
hibernate里createSQLQuery的addEntity()和setResultTransformer()方法
2012-06-21 10:55 564501. 使用SQLQuery对原生SQL查询执行的控制是通过S ... -
hibernate的session.connection被session.dowork()替代
2012-06-14 10:22 4038Hibernate3.3.2版本中getSessi ... -
Hibernate继承映射多态的详解
2012-06-05 17:36 1915在面向对象的程序领域中,类与类之间是有继承关系的,例如Java ... -
No Hibernate Session bound to thread, and configuration does not allow creation
2012-04-18 10:57 2125用SessionFactory.getCurrentSessi ... -
Hibernate的generator属性之意义(转)
2012-04-01 11:06 1245Hibernate的Generator属性有7种class,本 ...
相关推荐
spring HibernateTemplate汇总
hibernateTemplate的常用方法
HibernateTemplate的简单示例
HibernateTemplate的用法总结,我自己整理的,仅供参考
HibernateTemplate 的常规用法.doc HibernateTemplate 的常规用法.doc
关于使用HibernateTemplate
HibernateTemplate的方法部分使用,还有部分的个人见解,有错的,请指出,谢谢
对Spring框架中,HibernateTemplate的使用,底层dao中HibernateTemplate的使用以及HibernateCallBack调用等等
hibernateTemplate常用方法.htm
HibernateTemplat技术,此文档详细描述了HibernateTemplate的方法及功能说明,并有实例。
HibernateTemplate源代码
Spring整合hibernate(2)之基于HibernateTemplate的整合,jar需要自己添加!
GenericHibernateDao 继承 HibernateDao,简单封装 HibernateTemplate 各项功能,简化基于Hibernate Dao 的编写。
对于Hiberante对数据库种数据删除操作的归纳
HibernateTemplate类的使用
基于HIbernateTemplate的代码自动生成,能够自动生成dao和service文件,提高开发效率
JavaWeb开发,Sping框架,才用Hibernate Template进行字段截取,分组统计实现方法。
这是一个很好的文件,希望大家从中能找到自己的又用的部分,并且不断的进步
spring hibernatetemplate