hibernate4.2.0的HibernateSessionFactory()函数
来源:互联网 发布:上海行知中学对口小学 编辑:程序博客网 时间:2024/05/22 01:31
因为hibernate4放弃了buildSessionFactory()方法,所以getSession()需要重新修改一下,具体代码如下
package com.ssh.pwq.hibernate;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import org.hibernate.service.ServiceRegistryBuilder;@SuppressWarnings("deprecation")public class HibernateSessionFactory {private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";//指定配置文件路径private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();//定义ThreadLocal对象private static Configuration configuration = new Configuration();//定义Configuration对象private static org.hibernate.SessionFactory sessionFactory;//定义SessionFactory对象private static String configFile = CONFIG_FILE_LOCATION;static {try {configuration.configure(configFile);//读取配置文件ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();sessionFactory = configuration.buildSessionFactory(serviceRegistry);//根据配置文件创建SessionFactory对象} catch (Exception e) {System.err.println("%%%% Error Creating SessionFactory %%%%");e.printStackTrace();}}private HibernateSessionFactory() {}public static Session getSession() throws HibernateException {Session session = (Session) threadLocal.get();//从ThreadLocal对象中获得Session对象if (session == null || !session.isOpen()) {if (sessionFactory == null) {rebuildSessionFactory();}//如果SessionFactory对象不为空,则调用其openSession方法创建Session对象session = (sessionFactory != null) ? sessionFactory.openSession(): null;threadLocal.set(session);//在ThreadLocal对象中保存该Session对象}return session;}public static void rebuildSessionFactory() {try {configuration.configure(configFile);//读取配置文件ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();sessionFactory = configuration.buildSessionFactory(serviceRegistry);} catch (Exception e) {System.err.println("%%%% Error Recreating SessionFactory %%%%");e.printStackTrace();}}public static void closeSession() throws HibernateException {Session session = (Session) threadLocal.get();//从ThreadLocal对象中获得Session对象threadLocal.set(null);//将当前线程Session对象从ThreadLocal对象中移除if (session != null) {session.close();}}public static org.hibernate.SessionFactory getSessionFactory() {//取得SessionFactory对象return sessionFactory;}public static void setConfigFile(String configFile) {//设置新的配置文件HibernateSessionFactory.configFile = configFile;sessionFactory = null;}public static Configuration getConfiguration() {//获得Configuration对象return configuration;}}
0 0
- hibernate4.2.0的HibernateSessionFactory()函数
- Hibernate4 HibernateSessionFactory
- HibernateSessionFactory 的使用!
- HibernateSessionFactory
- HibernateSessionFactory
- HibernateSessionFactory
- HibernateSessionFactory
- HibernateSessionFactory
- HibernateSessionFactory
- hibernatesessionfactory
- HibernateSessionFactory
- HibernateSessionFactory创建的Session是否单例
- Hibernate4 聚合函数
- 不同版本MyEclipse生成的HibernateSessionFactory是有不同的
- hibernate包的导入,这样才可以正常使用hibernateSessionFactory
- HibernateSessionFactory创建的Session是否单例(转)
- HibernateSessionFactory类中Session对象的创建步骤
- HibernateSessionFactory.java
- iOS FMDatabase 本地数据库的创建和几个基本使用方法
- Num 34 : HDOJ : 1205 吃糖果 [ 狄利克雷抽屉原理 ]
- android 应用如何实现多个Activity在栈中finish掉
- HDU 1242 Rescue(广搜,优先队列)
- MySQL数据表中有自增长主键时如何插入数据
- hibernate4.2.0的HibernateSessionFactory()函数
- 招远代办医院诊断证明
- 蓬莱代办医院诊断证明
- 浅析jQuery中常用的元素查找方法总结
- iOS 开发 插件
- SAS 打分
- apache vhost 多域名
- 自定义ScrollView实现下拉刷新
- System property 'opennms.library.jicmp' 解决