package cn.tuletech.hibernate.util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
/**
*
* @author licb
* final 不让该类被继承
*/
public final class HibernateUtil {
private static SessionFactory sessionfactory;
/**
* 私有化无参构造方法,避免被实例化,被实例化没有太大的意义
*/
private HibernateUtil(){};
/*
*静态代码块只执行一次
/
static{
Configuration congiguration = new Configuration();//得到Configuration对象
congiguration.configure();//读取配置文件(configure()不提供参数默认读取hibernate.cfg.xml文件,否则需要提供自定义的配置文件名和路径)
sessionfactory = congiguration.buildSessionFactory();//得到Sessionfactory对象
}
public static SessionFactory getSessionfactory() {
return sessionfactory;
}
@SuppressWarnings("unused")
private Session getSession(){
return sessionfactory.openSession();//得到Session对象
}
}
分享到:
相关推荐
hibernate中session对象的状态详解
然而,需要注意的是,Hibernate-nosession模式虽然在某些场景下提高了效率,但同时也失去了Hibernate的一些优势,如对象缓存、事务管理和懒加载等。因此,我们在选择使用nosession模式时,需要根据具体的应用需求和...
Hibernate的Session是与数据库交互的主要接口,它负责对象的持久化操作,如保存、更新、删除和查询。Session提供了事务管理和缓存管理的功能,确保了数据的一致性和性能。 1. 增加(Create) 在Hibernate中,增加...
在Hibernate框架中,Session是与数据库交互的主要接口,它负责对象的持久化操作。然而,由于Session不是线程安全的,所以在多线程环境中管理Session就需要特别注意。本篇文章将详细探讨Hibernate中Session的管理,...
在上述代码中,我们首先通过`SessionFactory`获取`Session`实例,然后开启事务,接着创建一个新的`User`对象并保存到数据库,最后提交事务并关闭`Session`。 在实际应用中,我们通常会将`SessionFactory`和`Session...
- `getTransaction()`:获取与当前`Session`相关的`Transaction`对象,以便检查或控制事务状态。 - `close()`:关闭`Session`,释放与数据库的连接。 总的来说,`Hibernate Session`负责对象的持久化操作,而`...
Session对象具有短暂性,通常在一次业务操作或一个用户会话中创建并使用,然后关闭,以确保资源的有效利用。 1. **Session的创建**:在Hibernate中,我们通常通过SessionFactory对象来创建Session。SessionFactory...
Session对象就像一个临时的工作区域,用于在应用程序和数据库之间传递信息。当我们在Session上进行操作时,这些操作不会立即反映到数据库中,而是被缓存起来,直到调用`flush()`方法或者事务提交时才会真正执行。 ...
Hibernate的Session接口是Java应用程序与Hibernate之间主要的运行时交互接口,它提供了对持久化对象的创建、读取和删除操作。Session的概念是基于对象的状态管理和数据库事务的,它的生命周期通常与一个物理事务绑定...
本话题主要聚焦于`Hibernate02`,涵盖`Session`对象、HQL(Hibernate Query Language)查询以及在线查询和离线查询的概念。 首先,我们来详细讨论`Session`对象。在Hibernate中,`Session`是应用程序与数据库之间的...
在Java的持久层框架Hibernate中,SessionFactory是核心组件之一,它是线程安全的,负责创建Session对象,每个Session对应于数据库的一次会话。配置SessionFactory主要是通过Hibernate的配置文件(通常为hibernate....
总的来说,《精通Hibernate:Java对象持久化技术详解》是一本全面覆盖Hibernate的书籍,无论是初学者还是经验丰富的开发者,都能从中获取宝贵的知识,提升自己的技能。通过学习,读者不仅能掌握Hibernate的基本用法...
如果对象的属性发生改变并希望更新到数据库,需要重新获得Session,并调用merge()或update()方法。 4. **删除状态(Removed State)**: 调用Session的remove()方法后,持久化对象会被标记为删除状态。这个对象的...
本篇将详细讲解如何在Hibernate中手动获取Session,以及涉及到的相关配置和连接管理。 首先,理解Hibernate的核心组件——Session。Session是Hibernate中的工作单元,它是与数据库交互的主要接口,负责保存、更新和...
在Hibernate中,Session是与数据库交互的主要接口,它负责对象的持久化、查询以及事务管理。Session的方法包括保存、更新、删除、加载、查询等,这些都是ORM框架的基础功能。 1. **保存(save())**:当新创建一个...
Hibernate中获取Session的两种方式代码示例 Hibernate 是一个流行的基于Java的持久层框架,提供了对数据库的访问和操作。Session 是 Hibernate 中一个核心概念,负责管理应用程序与数据库之间的交互。获取 Session ...
Hibernate的核心组件是SessionFactory,它根据配置文件生成Session对象。Session是与数据库的会话,用于执行CRUD(创建、读取、更新、删除)操作。Session提供了一种事务性的接口,确保了数据库操作的原子性。 **五...
5. 获取Session:SessionFactory实例可以创建多个Session,每个Session代表一次数据库会话。 6. 数据操作:使用Session执行增、删、改、查操作。 7. 关闭Session和SessionFactory:操作完成后,确保正确关闭Session...
- **缓存的同步更新**: 当 Session 清理缓存时,Hibernate 会检查缓存中的对象状态是否发生变化,并同步更新数据库,从而确保数据一致性。 - **缓存相关方法**: - **`flush()`**: 刷新缓存并执行必要的 SQL 语句,...