1,Hibernate分页
Hibernate中通过对不同数据库的统一接口设计,实现了透明化、通用化的分页实现机制。
Criteria criteria = session.createCriteria(TUser.class);
criteria.add(Exception.eq("age","20"));
//从检索结果中获取第100条记录开始的20条记录
criteria.setFirstResult(100);
criteria.setFetchSize(20);
2,Session管理
Hibernate在处理Session的时候已经内置了延迟加载机制,不必过于担心Session的共享会导致整个线程生命周期内数据库联接被持续占用。
SessionFactory是线程安全的,Session不是线程安全的,我们需要一个在线程范围内的Session共享,而且要避免在线程中频繁的创建和销毁Session实例。
public class TestServlet extends HttpServlet{
private ThreadLocal localSession = new ThreadLocal();
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
localSession.set(getSession());
doSomething();
session.flush();
public void doSomething(){
Session session = (Session)localSession.get();
.......//基于session的存取操作
}
}
Hibernate提供了一个HibernateUtil类,在代码中止要借助这个工具类获取Session实例就可以实现线程范围内Session共享,注意线程结束时关闭Session。
借助Servlet2.3规范中的Filter机制,实现线程生命周期内的Session管理。Fliter在Servelt被调用之前执行,贯穿Servlet,在Servelt调用结束之后结束。---Web程序。
public class PersistenceFliter implements Fliter{
protected static ThreadLocal hibernateHolder = new ThreadLoacl();
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException{
hibernateHolder.set(getSession());
try{
...
chain.doFilter(request,response);
...
}
finally{
Session sess = (Session)hibernateHolder.get();
if(sess != null){
hibernateHolder.set(null);
try{
sess.close();
}
catch(HibernateException ex){
throw new ServletException(ex);
}
}
}
...
}
3,Hibernate 与 Spring Framework
Spring的参数化事务管理功能相当强大,在基于Spring Framework的应用开发中,尽量使用容器管理事务。
配置Hiberanate-Context.xml
注意类:HibernateDaoSupport,HibernateSupport,HibernateTemplate。
4,Hibernate性能优化
(1),性能监测
(2),P6SPY
(3),Hibernate常见优化策略
分享到:
相关推荐
【标题】"Hibernate使用技巧共2页.pdf.zip" 提供的文档主要聚焦于Hibernate这一流行的Java持久化框架的使用技巧。Hibernate是一个对象关系映射(ORM)工具,它简化了数据库与Java对象之间的交互,使得开发者可以使用...
### Hibernate使用技巧详解 #### 一、应用程序的分层结构及其优化 在现代软件开发中,采用分层架构是常见的设计模式,它有助于提高代码的可维护性和扩展性。分层架构通常包括以下三个主要层次: 1. **表述层**:...
Hibernate 完整使用教程 Hibernate 是一种流行的开源持久层框架,允许开发者使用面向对象编程语言来访问关系数据库。下面是关于 Hibernate 的详细知识点: Hibernate 介绍 Hibernate 是一个开源的持久层框架,它...
**HIBERNATE技术总结** Hibernate 是一个流行的 Java 应用程序框架,它提供了一种对象关系映射(ORM)解决方案,将数据库操作转化为面向对象的编程。此文档旨在研究和对比 Hibernate 技术的不同方面,帮助开发者更...
在IT行业中,数据库操作是应用程序的核心部分...《基于Hibernate和IBatis框架的混合持久化技术的应用.pdf》很可能详细阐述了如何在实际项目中实施这种策略,包括配置、集成、最佳实践等方面,为读者提供了深入的指导。
Hibernate 是一款 ORM 框架(对象关系映射),它对 JDBC(数据库连接技术的简称)进行了轻量级的封装,使得 Java 程序员可以随心所欲的使用面向对象的编程思想来操作数据库。Hibernate 的作用:用面向对象的编程思想...
以上就是关于 Hibernate 3.0 的一些使用经验和技巧。这些内容涵盖了如何在 Hibernate 中配置参数、执行 SQL 语句、获取 Session 以及如何在 DAO 层进行事务处理等方面的知识点。希望对读者有所帮助。
Hibernate是一款流行的Java持久化框架,它简化了数据库与对象之间的交互。在Hibernate的底层实现中,CGLIB(Code Generation Library)起到了至关...理解和掌握CGLIB的使用,对于深入理解Hibernate的工作原理至关重要。
5.3 Hibernate实用技术 第6章 Hibernate 实战——创建RedSaga论坛 6.1 目标 6.2 E-R建模还是对象建模 6.3 E-R建模及工具集 6.4 对象建模 6.5 项目的目录组织和基础设施 6.6 测试优先 6.7 容器,session与事务...
- **专注 Hibernate**: 本书重点在于介绍 Hibernate 的使用方法和技术细节,避免引入不必要的第三方工具。 - **实例丰富**: 作者提供了大量实用的例子,帮助读者更好地理解概念并应用于实践。 - **非理论性**: 书中...
在本资源中,"struts2 spring hibernate框架技术与项目实战 光盘源码 上"提供了这三大框架的实践项目代码,帮助开发者深入理解并掌握它们的集成与应用。 Struts2作为MVC(模型-视图-控制器)框架,主要负责处理HTTP...
在本文中,我们将深入探讨Hibernate的使用心得,特别是关注HQL(Hibernate Query Language)查询的技巧和优化策略。HQL是Hibernate框架中用于操作对象关系映射的SQL方言,它允许开发者以面向对象的方式来编写查询,...
Hibernate框架被广泛应用于企业级Java应用程序中,可以与Servlet/JSP Web应用、Java客户端程序等结合使用。 对象持久化(Persistence)是指将内存中的对象数据保存到持久化存储设备上,如硬盘。这主要是为了解决...
- 使用缓存、懒加载、批处理等技术可以有效提高应用性能。 通过以上详细介绍,初学者可以更好地理解和掌握 Hibernate 的基本概念和使用方法。对于进一步深入学习,建议查阅官方文档和相关教程,不断实践和积累经验...
综上所述,"hibernate和MySQL的jar"组合是Java Web开发中常见的技术栈,它简化了数据库操作,提高了开发效率。通过正确配置和使用这些jar文件,开发者可以构建出高效、易于维护的数据库驱动的应用程序。
总之,《Hibernate技术手册》是一本全面介绍Hibernate框架的实用资源,无论你是初学者还是经验丰富的开发者,都能从中受益,提升你的Java数据库开发技能。通过深入学习和实践,你将能够更高效地利用Hibernate进行...
本文将深入探讨 Hibernate Synchronizer 的主要功能和使用技巧,以帮助开发者更好地利用这一强大工具。 #### 映射文档编辑器:智能与直观 Hibernate Synchronizer 的核心优势之一在于其为映射文档提供的专业化编辑...
2. **实用性**:本书不仅仅局限于理论介绍,更注重实践应用,通过大量示例帮助读者掌握Hibernate的实际操作技巧。 3. **全面性**:从基础概念到高级技术,本书内容全面覆盖了Hibernate的各个方面,适合不同层次的...