Configuration.buildSessionFactory()过时之后,获取SessionFactory的Util类写法及一些设想
来源:互联网 发布:交易开拓者 编程 编辑:程序博客网 时间:2024/05/17 03:45
import org.hibernate.Session;
import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import org.hibernate.service.ServiceRegistryBuilder;public final class HibernateUtil {private HibernateUtil(){}private static SessionFactory sessionFactory;static{Configuration cfg = new Configuration();cfg.configure();ServiceRegistry sr = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry(); sessionFactory = cfg.buildSessionFactory(sr);}public static SessionFactory getSessionFactory() {return sessionFactory;}public static Session getSession(){return sessionFactory.openSession();}}
从Hibernate 4之后,Configuration类中,原先常用的,获取SessionFactory的方法buildSessionFactory()被标记为过时,官方建议使用buildSessionFactory(ServiceRegistry sr)这个方法来获取SessionFactory。新的方法,我理解,是因为用户有可能(虽然很罕见)根据不同的cfg.xml文件来创建出不同的Configuration对象实例,新的方法可以根据不同的实例来构建出不同的ServiceRegistry,进而得到不同需求的sessionFactory.
这样做的具体用例我虽然还没有遇到,但是可以想象,新的方法对分布式数据库将有良好的支持。
比如,一个分布式数据库系统中包含了分布在多个不同主机,不同类型的数据库,我们开发一个WEB应用,要求对这些数据库都要进行操作,假如这些数据库的信息分别写在了多个cfg.xml中,那么,我们就可以根据这些不同的配置文件,生成针对不同数据库SessionFactory,并将其保存在一个Map中,数据库名作为键值,这样我们就可以在实现DAO层的时候,根据访问不同数据库的需要而获取到不用的Session.
HibernateUtil
- Configuration.buildSessionFactory()过时之后,获取SessionFactory的Util类写法及一些设想
- Configuration.buildSessionFactory()过时之后,获取SessionFactory的Util类写法及一些设想
- Configuration.buildSessionFactory()过时之后,获取SessionFactory的写法
- Hibernate4的buildSessionFactory过时
- hibernate里的buildSessionFactory过时
- 关于Hibernate下Configuration类的buildSessionFactory()方法过期
- buildSessionFactory(ServiceRegistry sr)这个方法来获取SessionFactory
- hibernate的Configuration类和SessionFactory接口
- hibernate 4中buildSessionFactory() 方法过时的替换方法
- Hibernate4 buildSessionFactory过时解决方案HibernateUtil
- hibernate4.0 buildSessionFactory过时问题
- Hibernate 4中buildSessionFactory()过时
- Hibernate4.3 buildSessionFactory过时解决方案
- 获取SessionFactory的工具类
- Hibernate常用的接口和类Configuration&SessionFactory(三)
- Hibernate创建buildSessionFactory()之后的代码都不执行
- 一些过时的感悟
- SessionFactory的一些细节
- hdoj 2222 Keywords Search
- paip.图形化编程工具VS WF与JBPM的比较
- hdoj 3065
- Silverlight/Windows8/WPF/WP7/HTML5周学习导读(9月3日-9月9日)
- 【每日N题】海量数据处理-1
- Configuration.buildSessionFactory()过时之后,获取SessionFactory的Util类写法及一些设想
- Java大数
- 一个非常好的ABNF免费解析器
- The errors I got before seeing the acutal django cms page...
- c#设置取消ie代理服务器
- android Content Provider详解四
- Hibernate工具类模版
- Hibernate: Session对象中的两个保存记录的方法 save vs. persist
- 记录Record和PL/SQL表