`
cakin24
  • 浏览: 1368012 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

hibernate之如何获得session对象

阅读更多
一 如何获得session对象
1、openSession
2、getCurrentSession


 
 
二 用openSession获得session对象
1、代码
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.junit.Test;
 
public class SessionTest {
        @Test
        public void testOpenSession(){
            // 创建配置对象  
            Configuration config = new Configuration().configure();
            // 创建服务注册对象
            ServiceRegistry serviceRegistery = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
            // 创建会话工厂对象
            SessionFactory sessionFactory = config.buildSessionFactory(serviceRegistery);
            // 创建会话对象
            Session session = sessionFactory.openSession();
            if(session!=null){
                System.out.println("session创建成功!");
            }
            else{
                System.out.println("session创建失败!");
            }               
        }
}
2、运行结果
session创建成功!
 
三 用getCurrentSession获得session对象
1、代码
<property name="hibernate.current_session_context_class">thread</property>
 
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.junit.Test;
 
public class SessionTest {        
        @Test
        public void testGetCurrentSession(){
            // 创建配置对象  
            Configuration config = new Configuration().configure();
            // 创建服务注册对象
            ServiceRegistry serviceRegistery = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
            // 创建会话工厂对象
            SessionFactory sessionFactory = config.buildSessionFactory(serviceRegistery);
            // 创建会话对象
            Session session = sessionFactory.getCurrentSession();
            if(session!=null){
                System.out.println("getCurrentSession创建成功!");
            }
            else{
                System.out.println("getCurrentSession创建失败!");
            }
        }
}
2、运行结果

 

getCurrentSession创建成功!
  • 大小: 87.2 KB
1
0
分享到:
评论

相关推荐

    Hibernate Session 4种对象状态.docx

    在Java的持久化框架Hibernate中,对象的状态管理是其核心功能之一。Hibernate将对象的状态划分为四种:临时状态、持久化状态、游离状态和删除状态。这些状态反映了对象与数据库记录之间的关系,有助于理解Hibernate...

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

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

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

    通过 HibernateUtil,我们可以得到当前的 Session。下面是 HibernateUtil 的代码示例: ```java package com.bjpowernode.usermgr.util; import org.hibernate.Session; import org.hibernate.SessionFactory; ...

    妙解Hibernate 3.x:叩响面向对象思想之门 PDF

    《妙解Hibernate 3.x:叩响面向对象思想之门》是一本深入解析Hibernate框架的专著,旨在帮助读者理解并掌握面向对象编程思想在实际开发中的应用,尤其是在使用Hibernate时如何有效地进行数据持久化。这本书是面向...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     23.1.1 Session对象的生命周期与本地线程绑定  23.1.2 Session对象的生命周期与JTA事务绑定  23.2 实现对话  23.2.1 使用游离对象  23.2.2 使用手工清理缓存模式下的Session  23.3 小结  23.4 思考题 第24章...

    Hibernate源代码分析(一)

    从上面的代码可以看到,getCurrentSession 方法将获得 Session 对象的工作委托给了 currentSessionContext 对象。currentSessionContext 对象是当前 Session 的上下文环境,它负责管理当前 Session 对象的创建和管理...

    hibernate3

    (2)SessionFactory:初始化Hibernate,充当数据存储源的代理,创建Session对象。一个SessinFactory实例对应一个数据存储源,应用从SessionFactory中获得Session实例。如果应用同时访问多个DB,怎需要为每个数据库...

    Hibernate核心接口

    Session 接口是 Hibernate 的核心接口之一,它负责对持久化对象的存取操作。Session 对象是轻量级的,可以被多个线程共享。Session 对象提供了许多方法来操作持久化对象,例如 save、update、delete 等。 4. ...

    Hibernate的jar包

    SessionFactory 是 Hibernate 的核心工厂类,负责创建Session对象。它是线程安全的,一般在应用启动时创建一次,然后在整个应用生命周期中复用。 4. **Session** Session 对象是与数据库交互的主要接口,提供持久...

    hibernate的jar包

    - Hibernate Core:这是Hibernate的核心模块,包含了对持久化对象的基本支持,如Session接口、SessionFactory、Entity、Query等。 - Hibernate Annotations:提供注解方式来定义实体类和属性,简化了XML配置。 - ...

    hibernate 开发文档发布

    在Hibernate 3.1.x版本中,这一特性得到了进一步强化,增强了对复杂数据类型和关联关系的支持。 二、实体管理 在Hibernate中,实体是对应数据库表的Java类。通过@Entity注解,我们可以标记一个类为数据库中的表,而...

    Hibernate 显示数据库数据

    5. SessionFactory与Session:SessionFactory是线程安全的,用于创建Session对象,而Session是与数据库交互的主要接口,执行CRUD操作。 6. Criteria查询:Hibernate提供了Criteria API,允许开发者无须编写SQL就能...

    传智播客hibernate源码.rar

    《深入理解Hibernate源码》 Hibernate,作为Java领域中的一款著名持久化框架,极大地...结合“hibernatedao_080914”、“Jpa_0914”和“hibernate_080914”中的示例和实践,相信你的Hibernate技能将会得到显著提升。

    Hibernate3使用经验

    1. **创建 Session**:首先需要创建一个 `SessionFactory` 对象,然后通过该对象打开一个 `Session` 实例。 ```java Configuration config = new Configuration(); config.configure(); SessionFactory sf = ...

    Eclipse中Hibernate简单配置和使用

    得到Session。 5. session.beginTransaction();开启事务。 6. persistent operate; 7. session.getTransaction().commit();提交事务 8. 关闭Session; 9. 关闭SessionFactory; Hibernate优点 Hibernate的优点包括:...

    Hibernate电子书(全)

    这些映射策略使得复杂的关联关系能够在Hibernate中得到清晰的表示。 #### 延迟加载(LazyInitialization) 延迟加载是一种优化技术,允许Hibernate在真正需要的时候才加载关联的对象,从而减少了不必要的数据库访问...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     23.1.1 Session对象的生命周期与本地线程绑定  23.1.2 Session对象的生命周期与JTA事务绑定  23.2 实现对话  23.2.1 使用游离对象  23.2.2 使用手工清理缓存模式下的Session  23.3 小结  23.4 思考题 第24章...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     23.1.1 Session对象的生命周期与本地线程绑定  23.1.2 Session对象的生命周期与JTA事务绑定  23.2 实现对话  23.2.1 使用游离对象  23.2.2 使用手工清理缓存模式下的Session  23.3 小结  23.4 思考题 第24章...

Global site tag (gtag.js) - Google Analytics