`

Hibernate代码优化

阅读更多

在使用Hibernate中,都需要如下操作:

 

1. 知道Hibernate配置
    Configuration config = new Configuration().configure() ;

 

2. 从配置中取得SessionFactory
    SessionFactory factory = config.buildSessionFactory() ;

 

3. 从SessionFactory中取得一个session
    this.session = factory.openSession() ;

 

 

    一般调用Hibernate都需要这些步骤,如果每次调用都需要执行这些代码,势必降低效率,所以通常情况下将Hibernate的初始化工作提取出来,单独的做成一个工具类:

 

    代码如下:

import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public final class HibernateUtil {
       
      private static SessionFactory sessionFactory;

      private HibernateUtil () {

      }
      
      static {
            
            Configuration cfg = new Configuration ();
            cfg.configure ();      // 此处缺省调用配置文件hibernate.cfg.xml,如果文件名不是这个,需要在这个地方进行配置
            sessionFactory = cfg.buildSessionFactory ();
      }

      public static SessionFactory getSesstionFactory () {

             return sessionFactory;
      }

      public static Session getSesstion () {
      
             return sesstionFactory.openSesssion ();
      }

}

 

如何调用呢?

public static void main (String [] args) {
  
       Session s = HibernateUtil.getSession ();
       
       // 事务处理
    Transaction tx = s.beginTransaction ();
      ......
      tx.commit ();
      s.close ();
}

上面的代码还是不太规范,如下进行了一些优化:

......

Session s = null;
Transaction tx = null;

try {

     s = HibernateUtil.getSession ();
     tx = s.beginTransaction();
     ....
     tx.commit ();

} catch (HibernateException e) {         // catch 可以省略

     if (tx != null) {
           
           tx.rollback ();
     }
     throw e;

} finally {

     if (s != null) {
        
         s.close ();
     }
}
......

 

 

 

0
0
分享到:
评论

相关推荐

    hibernate代码优化基于配置的多表查询

    本文将深入探讨如何通过配置优化Hibernate的多表查询,以提高应用的性能。 1. **联合查询优化**: 在进行多表查询时,Hibernate默认可能会生成多个单表查询,这会导致大量的数据库往返,降低效率。通过配置`@Join...

    Hibernate优化

    《Hibernate优化深度解析》 在Java开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。然而,随着项目规模的扩大,如果不进行适当的优化,Hibernate可能会成为性能瓶颈。本文将深入...

    Hibernate性能优化研究.pdf

    4. **编写访问数据库的代码**:利用Hibernate API进行数据的操作。 #### 三、影响数据持久层性能的因素及优化措施 ##### 3.1 影响因素 影响Hibernate性能的主要因素包括但不限于: - **网络延迟**:在多层分布式...

    Hibernate性能优化

    3. **代码审查**:定期进行代码审查,找出不合理的Hibernate使用,如过度使用Session、未关闭资源等。 总结,Hibernate性能优化是一个多方面、多层次的过程,涉及到配置、SQL、实体设计、查询策略、事务管理等多个...

    hibernate 优化

    《Hibernate优化深度解析》 在Java企业级开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。然而,随着项目的规模扩大,如何进行有效的Hibernate优化,提升系统的性能,成为了...

    hibernATE的源代码

    - **查询优化**:通过源代码学习Hibernate如何优化SQL查询,减少数据库交互次数,提升性能。 通过深入分析和学习Hibernate源代码,开发者不仅可以提高对ORM的理解,还能提升Java编程技巧,更好地应对实际项目中的...

    spring和hibernate整合的优化配置

    ### Spring与Hibernate整合的优化配置 #### 一、Spring与Hibernate简介 - **Spring框架**:作为Java开发领域中的一款主流轻量级框架,Spring主要提供了依赖注入(DI)和面向切面编程(AOP)的功能,使得Java开发...

    Hibernate源代码

    通过深入学习 Hibernate 的源代码,开发者可以更好地理解其内部工作机制,从而优化应用程序性能,解决潜在的问题,并为自己的项目定制合适的 ORM 解决方案。对于希望提升 Java 数据库编程技能的开发者来说,研究 ...

    最简单Hibernate工程代码

    6. **缓存机制**:了解Hibernate的一级缓存和二级缓存,以及它们在性能优化中的作用。 7. **实体关系映射**:理解如何处理实体间的关联,如一对一、一对多、多对多关系。 通过这个简单的Hibernate工程,开发者不仅...

    03_传智播客hibernate教程_hibernate入门案例的代码优化

    "03_传智播客hibernate教程_hibernate入门案例的代码优化"主要关注如何通过优化Hibernate代码来提高应用程序的性能和效率。以下是关于Hibernate的一些关键知识点: 1. **Hibernate简介**:Hibernate是Java平台上的...

    Hibernate tool 源代码

    这对于我们深入理解Hibernate的工作原理和优化ORM配置提供了宝贵的学习机会。 总的来说,研究Hibernate Tool的源代码,不仅可以掌握Eclipse Plugin的开发技术,也能深化对Hibernate ORM的理解,同时还能学习到代码...

    Hibernate性能优化:一级缓存

    压缩包文件“hibernate_cache_level1”可能包含与一级缓存相关的示例代码、配置文件或文档,可以帮助开发者更深入地理解一级缓存的实现和优化。例如,其中可能有示例展示了如何配置SessionFactory的缓存区域大小,...

    Hibernate 源代码及重要说明

    通过学习和分析Hibernate的源代码,开发者不仅可以了解ORM框架的实现原理,还能提升数据库操作和设计能力,对于优化数据库性能和解决实际问题大有裨益。这个压缩包提供的源代码和说明将是一个宝贵的参考资料,帮助...

    hibernate-3.2源代码

    在Hibernate 3.2中,优化了缓存策略、增强了对JPA的支持,并提供了更丰富的查询语言HQL。 二、核心组件解析 1. SessionFactory:它是Hibernate的主要工厂类,负责配置、加载和管理所有持久化类的元数据,创建...

    Hibernate缓存,性能优化

    本文将深入探讨Hibernate缓存的原理、类型及其对性能优化的影响。 ### Hibernate缓存原理 Hibernate缓存主要分为一级缓存和二级缓存。一级缓存,也称为会话缓存(Session Cache),是默认启用的,由Hibernate自动...

    Hibernate 源代码(非常好)

    总的来说,深入研究Hibernate源代码能够帮助开发者更好地理解ORM的工作机制,掌握如何优化数据访问,以及如何处理复杂的持久化场景。这对于提升Java开发技能,尤其是在企业级应用开发中,具有重要意义。

    26. 尚硅谷_佟刚_Hibernate 课件及源代码

    4. "hibernate-4" - 可能涉及到Hibernate的第四部分,涵盖了一些高级主题,如HQL(Hibernate Query Language)和Criteria API,或者是框架的优化技巧。 5. "hibernate-2" - 这可能是源代码的第二部分,可能涉及到了...

    Hibernate Quickly 源代码

    《Hibernate Quickly 源代码》是一份专注于Java持久层框架Hibernate的开源项目,它提供了快速理解和应用Hibernate的实例。这份源代码集可以帮助开发者深入学习Hibernate的核心功能和最佳实践,包括对象关系映射(ORM...

    hibernate性能优化.doc

    在上面的代码中,我们使用了 HQL、Criteria 和 Hibernate Annotation 中的 lazy、batchSize 和 join fetch 等方法来优化查询,避免了 1+n 问题。 Hibernate 性能优化需要我们注意批量处理和 1+n 问题,并使用相应的...

Global site tag (gtag.js) - Google Analytics