在使用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 ();
}
}
......
分享到:
相关推荐
本文将深入探讨如何通过配置优化Hibernate的多表查询,以提高应用的性能。 1. **联合查询优化**: 在进行多表查询时,Hibernate默认可能会生成多个单表查询,这会导致大量的数据库往返,降低效率。通过配置`@Join...
《Hibernate优化深度解析》 在Java开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。然而,随着项目规模的扩大,如果不进行适当的优化,Hibernate可能会成为性能瓶颈。本文将深入...
4. **编写访问数据库的代码**:利用Hibernate API进行数据的操作。 #### 三、影响数据持久层性能的因素及优化措施 ##### 3.1 影响因素 影响Hibernate性能的主要因素包括但不限于: - **网络延迟**:在多层分布式...
3. **代码审查**:定期进行代码审查,找出不合理的Hibernate使用,如过度使用Session、未关闭资源等。 总结,Hibernate性能优化是一个多方面、多层次的过程,涉及到配置、SQL、实体设计、查询策略、事务管理等多个...
《Hibernate优化深度解析》 在Java企业级开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。然而,随着项目的规模扩大,如何进行有效的Hibernate优化,提升系统的性能,成为了...
- **查询优化**:通过源代码学习Hibernate如何优化SQL查询,减少数据库交互次数,提升性能。 通过深入分析和学习Hibernate源代码,开发者不仅可以提高对ORM的理解,还能提升Java编程技巧,更好地应对实际项目中的...
### Spring与Hibernate整合的优化配置 #### 一、Spring与Hibernate简介 - **Spring框架**:作为Java开发领域中的一款主流轻量级框架,Spring主要提供了依赖注入(DI)和面向切面编程(AOP)的功能,使得Java开发...
通过深入学习 Hibernate 的源代码,开发者可以更好地理解其内部工作机制,从而优化应用程序性能,解决潜在的问题,并为自己的项目定制合适的 ORM 解决方案。对于希望提升 Java 数据库编程技能的开发者来说,研究 ...
6. **缓存机制**:了解Hibernate的一级缓存和二级缓存,以及它们在性能优化中的作用。 7. **实体关系映射**:理解如何处理实体间的关联,如一对一、一对多、多对多关系。 通过这个简单的Hibernate工程,开发者不仅...
"03_传智播客hibernate教程_hibernate入门案例的代码优化"主要关注如何通过优化Hibernate代码来提高应用程序的性能和效率。以下是关于Hibernate的一些关键知识点: 1. **Hibernate简介**:Hibernate是Java平台上的...
这对于我们深入理解Hibernate的工作原理和优化ORM配置提供了宝贵的学习机会。 总的来说,研究Hibernate Tool的源代码,不仅可以掌握Eclipse Plugin的开发技术,也能深化对Hibernate ORM的理解,同时还能学习到代码...
压缩包文件“hibernate_cache_level1”可能包含与一级缓存相关的示例代码、配置文件或文档,可以帮助开发者更深入地理解一级缓存的实现和优化。例如,其中可能有示例展示了如何配置SessionFactory的缓存区域大小,...
通过学习和分析Hibernate的源代码,开发者不仅可以了解ORM框架的实现原理,还能提升数据库操作和设计能力,对于优化数据库性能和解决实际问题大有裨益。这个压缩包提供的源代码和说明将是一个宝贵的参考资料,帮助...
在Hibernate 3.2中,优化了缓存策略、增强了对JPA的支持,并提供了更丰富的查询语言HQL。 二、核心组件解析 1. SessionFactory:它是Hibernate的主要工厂类,负责配置、加载和管理所有持久化类的元数据,创建...
本文将深入探讨Hibernate缓存的原理、类型及其对性能优化的影响。 ### Hibernate缓存原理 Hibernate缓存主要分为一级缓存和二级缓存。一级缓存,也称为会话缓存(Session Cache),是默认启用的,由Hibernate自动...
总的来说,深入研究Hibernate源代码能够帮助开发者更好地理解ORM的工作机制,掌握如何优化数据访问,以及如何处理复杂的持久化场景。这对于提升Java开发技能,尤其是在企业级应用开发中,具有重要意义。
4. "hibernate-4" - 可能涉及到Hibernate的第四部分,涵盖了一些高级主题,如HQL(Hibernate Query Language)和Criteria API,或者是框架的优化技巧。 5. "hibernate-2" - 这可能是源代码的第二部分,可能涉及到了...
《Hibernate Quickly 源代码》是一份专注于Java持久层框架Hibernate的开源项目,它提供了快速理解和应用Hibernate的实例。这份源代码集可以帮助开发者深入学习Hibernate的核心功能和最佳实践,包括对象关系映射(ORM...
在上面的代码中,我们使用了 HQL、Criteria 和 Hibernate Annotation 中的 lazy、batchSize 和 join fetch 等方法来优化查询,避免了 1+n 问题。 Hibernate 性能优化需要我们注意批量处理和 1+n 问题,并使用相应的...