文档章节

不用spring时,hibernate4跟hibernate3创建sessionFactory方式的

de_c
 de_c
发布于 2016/02/03 15:32
字数 226
阅读 6
收藏 0

先是看一下现在刚刚遇到的,hibernate4的sessionfactory的创建方法,跟hibernate3区别还是挺大的;

package com.ynwi.ssh.daoImpl;  
  
import org.hibernate.HibernateException;  
import org.hibernate.Session;  
import org.hibernate.SessionFactory;  
import org.hibernate.cfg.Configuration;  
import org.hibernate.service.ServiceRegistry;  
import org.hibernate.service.ServiceRegistryBuilder;  
  
public class HibernateSessionFactory {  
  
  //指定对应的配置文件
    private static final String CFG_FILE_LOCATION = "/Hibernate.cfg.xml";  
  
    private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();  
  
    private static final Configuration cfg = new Configuration()  
            .configure(CFG_FILE_LOCATION);  
  
    private static ServiceRegistryBuilder builder = new ServiceRegistryBuilder()  
            .applySettings(cfg.getProperties());  
  
    private static ServiceRegistry registry;  
  
    private static SessionFactory sessionFactory;  
  
    public static Session currentSession() throws HibernateException {  
        Session session = threadLocal.get();  
  
        if (session == null || session.isOpen() == false) {  
  
            if (sessionFactory == null) {  
                try {  
                    registry = builder.buildServiceRegistry();  
                    sessionFactory = cfg.buildSessionFactory(registry);  
                } catch (Exception e) {  
                    e.printStackTrace();  
                }  
            }  
  
            session = sessionFactory.openSession();  
            threadLocal.set(session);  
  
        }  
  
        return session;  
    }
  
}

下面再看看hibernate3的:

public class HibernateSessionFactory {       
    private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();   
    //如果hibernate.cfg.xml在默认位置可以不指定     
    private static final Configuration cfg = new Configuration() .configure();        
    private static SessionFactory sessionFactory;        
    public static Session currentSession() throws HibernateException {          
        Session session = threadLocal.get();            
        if (session == null || session.isOpen() == false) {                
            if (sessionFactory == null) {                  
                try {                     
                    sessionFactory = cfg.buildSessionFactory();                  
                } catch (Exception e) {                      
                    e.printStackTrace();                  
                }              
             }                
             session = sessionFactory.openSession();              
             threadLocal.set(session);            
         }            
         return session;      
        }

© 著作权归作者所有

共有 人打赏支持
de_c
粉丝 0
博文 4
码字总数 734
作品 0
广州
注意Hibernate4在开发当中的一些改变

注意Hibernate4在开发当中的一些改变 Hibernate4的改动较大只有spring3.1以上版本能够支持,Spring3.1取消了HibernateTemplate,因为Hibernate4的事务管理已经很好了,不用Spring再扩展了。这...

千江
2013/05/24
0
1
注意Hibernate4在开发当中的一些改变

Hibernate4的改动较大只有spring3.1以上版本能够支持,Spring3.1取消了HibernateTemplate,因为Hibernate4的事务管理已经很好了,不用Spring再扩展了。这里简单介绍了hibernate4相对于hiber...

Ida62
2014/03/13
0
0
注意Hibernate4在开发当中的一些改变

Hibernate4的改动较大只有spring3.1以上版本能够支持,Spring3.1取消了HibernateTemplate,因为Hibernate4的事务管理已经很好了,不用Spring再扩展了。这里简单介绍了hibernate4相对于hiber...

山海经
2014/03/22
0
0
hibernate4与spring3的整合,不兼容

双休整合下 整合struts2+spring3.2.1+hibernate4.2.1 结果遇到问题如下问题: java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;at......

苏叶晚晚
2013/03/17
0
0
spring3整合hibernate4出现的问题

Spring3与Hibernate4整合时出现了nested exception is java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider。 Hibernate3的时候,用spring来控制sessionfactory用的可以是o......

挨踢精英
2015/03/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

shell-日志脚本小实验

1.查找日志2018-8-15,求得那一分钟访问量最大。 #/bin/bash#from cc#2018-8-15#2018-08-15.log 哪一分钟 访问量 最大for d in `ls /data/nginx/logs/`doif [ -a 2018-08-15...

chencheng-linux
昨天
0
0
Android中的设计模式之状态模式

参考 《设计模式:可复用面向对象软件的基础 》5.8 State 状态 对象行为型模式 《Android源码设计模式解析与实战》第7章 随遇而安--状态模式 意图 允许一个对象在其内部状态改变时改变它的行...

newtrek
昨天
0
0
xshell端 vim没有颜色

说明 使用xshell连接服务器的时候,使用vim打开文档没有颜色 解决方法: 1.在更目录home或者etc下找到vim的配置文件vimrc 2.vim打开它找个坑,添加下面这个东西 set t_Co=256 3.保存退出,就...

杉下
昨天
0
0
spring 资料

spring boot http://www.ityouknow.com/springboot/2016/01/06/spring-boot-quick-start.html

zaolonglei
昨天
2
0
TypeScript基础入门 - 函数 - 简介

转载 TypeScript基础入门 - 函数 - 简介 项目实践仓库 https://github.com/durban89/typescript_demo.gittag: 1.1.6 为了保证后面的学习演示需要安装下ts-node,这样后面的每个操作都能直接...

durban
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部