加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_潮州站长网 (http://www.0768zz.com/)- 物联安全、建站、操作系统、云计算、数据迁移!
当前位置: 首页 > 教程 > 正文

Hibernate 5.2.x 中 sessionFactory 的获取办法

发布时间:2021-11-12 18:08:03 所属栏目:教程 来源:互联网
导读:版本:Hibernate 5.2.12(2017-11-1测) 起因:Hibernate 4.3 中通用的Configuration.buildSessionFactory()方法过时(Deprecation)。 参考:官网文档 3.2.4. Building the SessionFactory 最新版工具类 HibernateUtils 代码: public class HibernateUtils {

版本:Hibernate 5.2.12(2017-11-1测)
 
起因:Hibernate 4.3 中通用的Configuration.buildSessionFactory()方法过时(Deprecation)。
 
参考:官网文档 3.2.4. Building the SessionFactory
 
最新版工具类 HibernateUtils 代码:
 
public class HibernateUtils {
 private static SessionFactory sessionFactory;
 private static SessionFactory buildSessionFactory(){
  StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().configure().build();
  sessionFactory = new MetadataSources(ssr).buildMetadata().buildSessionFactory();
  return sessionFactory;
 }
 public static SessionFactory getSessionFactory(){
  return (sessionFactory==null ? buildSessionFactory() : sessionFactory);
 }
 public static Session openSession(){
  return getSessionFactory().openSession();
 }
}
 
对比 Hibernate 4.3 版代码:
 
public class HibernateUtils {
 private static SessionFactory sessionFactory;
 private static SessionFactory buildSessionFactory(){
  sessionFactory = new Configuration().configure().buildSessionFactory();
  return sessionFactory;
 }
 public static SessionFactory getSessionFactory(){
  return (sessionFactory==null ? buildSessionFactory() : sessionFactory);
 }
 public static Session openSession(){
  return getSessionFactory().openSession();
 }
}
 
注意事项:
 
1、最新版第 5 行与下句等效:
 
sessionFactory = new MetadataSources(ssr).getMetadataBuilder().build().getSessionFactoryBuilder().build();
 
2、配置文件 hibernate.cfg.xml 默认在 /src 目录下。

(编辑:我爱制作网_潮州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读