MyException - 我的异常网
当前位置:我的异常网» J2EE » 关于使用Hibernate实现通用性分页功能的有关问题

关于使用Hibernate实现通用性分页功能的有关问题(2)

www.MyException.Cn  网友分享于:2013-12-11  浏览:528次

session是轻量级的,允许随用随建,session的open和close,未必就意味着connection的关闭和链接。
建议使用bbcp管理connection
------解决方案--------------------
如果,你只用Hibernate,参考org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter等(用Hibernate也会有类似的一个Filter)
其实,Spring会有一个Filter,当一个Request过来时,会打开一个Session,当Servlet处理结束时,这个Filter又可以把Hibernate的Session关闭。
你只需要造这个类似的Filter即可

至于分页,大楖如上面那些朋友写的。
不过,我很烦不停的写这些,自己写了个东西,把hql放在配置文件里,类似如
<page id="queryServiceGroup1" maxRecords="1" maxIndexPages="2">
<sql><![CDATA[
select (selct * from abc) from Entity where id=:id and name like :name and ?1 and 0=1
]]>
</sql>
<reps id="1" default="a=b">
<rep test="${id=='20'}"><![CDATA[abc${name}]]></rep>
<rep test="${id=='1'}"><![CDATA[b=c]]></rep>
</reps>
</page>

------解决方案--------------------
Hibernate配合连接池使用,不会有什么影响使用的的性能问题的,Hibernate自己实现了很多缓存机制,除非进行海量数据操作,Hibernate配置好了,和JDBC效能不相上下。而分页,每次只会取出少量数据而已。

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有