Configuration,SessionFactory,Session
Configuration:
负责管理Hibernate的配置信息,这些配置信息都是从配置文件hibernate.cfg.xml或者Hibernate.
properties读取的,当然也可以自定义文件名称,只要在实例化Configuration的时候指定具体的路径就可以了;
SessionFactiory:
Configuration的实例会根据当前的配置信息,构造SessionFactory实例。SessionFactory是线程安全的,一般情况下一个应用中一个数据库共享一个SessionFactory实例。
Session:
一般的持久化方法(CRUD)都是通过Session来调用的,Session是非线程安全的。
例子代码:
package org.william.First;
import org.hibernate.cfg.Configuration;
import org.hibernate.SessionFactory;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.william.xml.*;
/**
* @author wangliang138840
*
*/
public class BaseCRUD{
private static Configuration config;
private static SessionFactory sessionFactory;
private Session session;
public BaseCRUD(){
init();
}
private void init(){
try{
config = new Configuration().configure();
sessionFactory = config.buildSessionFactory();
session = sessionFactory.openSession();
}catch(Exception e){
e.printStackTrace();
}
}
public void close(){
try{
session.close();
sessionFactory.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String args[]){
BaseCRUD baseCRUD = new BaseCRUD();
Customer customer = new Customer();
Transaction tx = baseCRUD.session.beginTransaction();
customer.setName("wangyi");
baseCRUD.session.save(customer);
tx.commit();
customer = (Customer)baseCRUD.session.get(Customer.class, new Long(1));
System.out.println(customer.getPeopleID());
tx = baseCRUD.session.beginTransaction();
baseCRUD.session.delete(customer);
tx.commit();
baseCRUD.close();
}
}
分享到:
相关推荐
Hibernate的五个核心接口 Configuration SessionFactory Session Transcation Query和Criteria
Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); MyEntity entity = new MyEntity(); // 设置属性... session.save(entity); tx.commit(); session.close(); ``` *...
- **缓存管理**: `SessionFactory`支持一级缓存(Session级别的缓存)和二级缓存(SessionFactory级别的全局缓存)。二级缓存可以通过插件如Ehcache实现,提高性能。 - **事务处理**: Hibernate提供了基于JTA或JDBC...
SessionFactory是Hibernate的核心组件,它负责创建Session对象,而Session则是与数据库交互的接口。 首先,我们需要在项目中添加Spring和Hibernate的依赖。Spring的jar包通常包括spring-context、spring-beans、...
SessionFactory由Configuration实例创建,配置文件通常为`hibernate.cfg.xml`,其中包含了数据库连接信息、实体类映射等设置。 接下来,我们可以通过SessionFactory获取Session实例。然后,可以使用Session的`save...
在Java应用中,我们需要先初始化SessionFactory,然后通过SessionFactory来创建Session实例。 以下是如何手动获取Session的基本步骤: 1. **配置Hibernate**:在项目的资源目录下创建`hibernate.cfg.xml`配置文件...
SessionFactory 接口是一个重要的组件,它对一个数据存储源,应用从 SessionFactory 中获得 Session 实例。SessionFactory 是线程安全的,这意味着它的同一个实例可以被应用的多个线程共享。然而,SessionFactory 是...
下面将详细介绍这五个核心接口:Configuration、SessionFactory、Session、Transaction 和 Query。 1. Configuration 接口: Configuration 接口是 Hibernate 的核心接口之一,它负责配置并启动 Hibernate,创建 ...
在理解Hibernate框架中,Session是核心组件之一,它充当了应用程序和数据库之间的桥梁。...理解`Session`的工作原理,以及与`SessionFactory`、`Configuration`的关系,能够帮助开发者更好地利用Hibernate进行ORM编程。
本文将深入探讨三个关键概念:Configuration、SessionFactory和Session。 首先,Configuration类是Hibernate配置的起点。它用于收集和管理与Hibernate运行环境相关的所有设置,例如数据库连接信息。这包括数据库URL...
Session session = sessionFactory.openSession(); ``` Session提供了各种操作数据库的方法,如`save()`, `update()`, `delete()`, `load()`, `get()`等,它们都是事务性的。比如,`save()`方法用于保存一个新的...
* the location of the configuration file for the current session. */ private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml"; private static final ThreadLocal<Session> threadLocal = new...
标题“SSH整合中 hibernate托管给Spring得到SessionFactory”和描述“Spring文件中的 SessionFactory中 加入为了能得到同一个Session”表明本文要讨论的是在使用Spring框架整合Hibernate时,如何实现Spring管理...
这包括创建SessionFactory,打开Session,执行CRUD操作,最后关闭Session和SessionFactory,确保资源得到正确释放。 通过这些步骤,我们可以看到Hibernate如何简化了数据库操作,将底层SQL语句抽象为面向对象的方法...
Hibernate 中获取 Session 的两种方式是:通过 HibernateUtil 工具类和通过 SessionFactory 获取当前 Session。 方式一:通过 HibernateUtil 工具类 HibernateUtil 是一个工具类,用于管理 Session。通过 ...
(1)Configuration:用于解析hibernate.cfg.xml文件和XXXXX.hbm.xml文件,并创建SessionFactory对象。Configuration对象用于配置并且启动Hibernate。Hibernate应用通过Configuration实例来指定对象--关系映射文件的...
SessionFactory是Hibernate中的一个单例对象,它负责创建Session实例,而Session则是与数据库交互的前线对象。SessionFactory通过配置文件或编程方式获取数据库连接信息,并对其进行预编译,从而提高数据库操作效率...
在本讲中,我们将深入理解Hibernate的核心API,包括持久实例的生命周期状态、Session接口、Transaction接口、SessionFactory接口以及Configuration接口。 1. **持久化生命周期**: - Hibernate提供了对象状态管理...
《深入理解HibernateUtil:高效管理Hibernate Session与SessionFactory》 Hibernate,作为Java领域广泛使用的对象关系映射(ORM)框架,极大地简化了数据库操作。而HibernateUtil则是为了方便开发者管理Hibernate的...