`

Configuration,SessionFactory,Session

阅读更多

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的五个核心接口介绍.png

    Hibernate的五个核心接口 Configuration SessionFactory Session Transcation Query和Criteria

    HibernateSessionFactory 代码

    Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); MyEntity entity = new MyEntity(); // 设置属性... session.save(entity); tx.commit(); session.close(); ``` *...

    使用 HibernateSessionFactory 类

    - **缓存管理**: `SessionFactory`支持一级缓存(Session级别的缓存)和二级缓存(SessionFactory级别的全局缓存)。二级缓存可以通过插件如Ehcache实现,提高性能。 - **事务处理**: Hibernate提供了基于JTA或JDBC...

    spring配置sessionFactory(spring3.2.3+hibernate4.2.2)

    SessionFactory是Hibernate的核心组件,它负责创建Session对象,而Session则是与数据库交互的接口。 首先,我们需要在项目中添加Spring和Hibernate的依赖。Spring的jar包通常包括spring-context、spring-beans、...

    hibernate--3.Hibernate数据持久化(通过 Session 操纵对象)

    SessionFactory由Configuration实例创建,配置文件通常为`hibernate.cfg.xml`,其中包含了数据库连接信息、实体类映射等设置。 接下来,我们可以通过SessionFactory获取Session实例。然后,可以使用Session的`save...

    JAVA的hibernate手动获取session的方法

    在Java应用中,我们需要先初始化SessionFactory,然后通过SessionFactory来创建Session实例。 以下是如何手动获取Session的基本步骤: 1. **配置Hibernate**:在项目的资源目录下创建`hibernate.cfg.xml`配置文件...

    configuration接口

    SessionFactory 接口是一个重要的组件,它对一个数据存储源,应用从 SessionFactory 中获得 Session 实例。SessionFactory 是线程安全的,这意味着它的同一个实例可以被应用的多个线程共享。然而,SessionFactory 是...

    Hibernate核心接口

    下面将详细介绍这五个核心接口:Configuration、SessionFactory、Session、Transaction 和 Query。 1. Configuration 接口: Configuration 接口是 Hibernate 的核心接口之一,它负责配置并启动 Hibernate,创建 ...

    hibernate session.doc

    在理解Hibernate框架中,Session是核心组件之一,它充当了应用程序和数据库之间的桥梁。...理解`Session`的工作原理,以及与`SessionFactory`、`Configuration`的关系,能够帮助开发者更好地利用Hibernate进行ORM编程。

    hibernate基础.doc

    本文将深入探讨三个关键概念:Configuration、SessionFactory和Session。 首先,Configuration类是Hibernate配置的起点。它用于收集和管理与Hibernate运行环境相关的所有设置,例如数据库连接信息。这包括数据库URL...

    Hibernate_11session

    Session session = sessionFactory.openSession(); ``` Session提供了各种操作数据库的方法,如`save()`, `update()`, `delete()`, `load()`, `get()`等,它们都是事务性的。比如,`save()`方法用于保存一个新的...

    J2EE利用Hibernate采用B/S架构网页设计

    * 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

    标题“SSH整合中 hibernate托管给Spring得到SessionFactory”和描述“Spring文件中的 SessionFactory中 加入为了能得到同一个Session”表明本文要讨论的是在使用Spring框架整合Hibernate时,如何实现Spring管理...

    JavaEE技术-自主学习.zip_hibernate_hibernate session _javaee映射.xml

    这包括创建SessionFactory,打开Session,执行CRUD操作,最后关闭Session和SessionFactory,确保资源得到正确释放。 通过这些步骤,我们可以看到Hibernate如何简化了数据库操作,将底层SQL语句抽象为面向对象的方法...

    Hibernate中获取Session的两种方式代码示例

    Hibernate 中获取 Session 的两种方式是:通过 HibernateUtil 工具类和通过 SessionFactory 获取当前 Session。 方式一:通过 HibernateUtil 工具类 HibernateUtil 是一个工具类,用于管理 Session。通过 ...

    hibernate3

    (1)Configuration:用于解析hibernate.cfg.xml文件和XXXXX.hbm.xml文件,并创建SessionFactory对象。Configuration对象用于配置并且启动Hibernate。Hibernate应用通过Configuration实例来指定对象--关系映射文件的...

    多数据源---SessionFactory

    SessionFactory是Hibernate中的一个单例对象,它负责创建Session实例,而Session则是与数据库交互的前线对象。SessionFactory通过配置文件或编程方式获取数据库连接信息,并对其进行预编译,从而提高数据库操作效率...

    Hibernate核心API.PPT

    在本讲中,我们将深入理解Hibernate的核心API,包括持久实例的生命周期状态、Session接口、Transaction接口、SessionFactory接口以及Configuration接口。 1. **持久化生命周期**: - Hibernate提供了对象状态管理...

    HibernateUtil

    《深入理解HibernateUtil:高效管理Hibernate Session与SessionFactory》 Hibernate,作为Java领域广泛使用的对象关系映射(ORM)框架,极大地简化了数据库操作。而HibernateUtil则是为了方便开发者管理Hibernate的...

Global site tag (gtag.js) - Google Analytics