你好,游客 登录 注册 搜索
背景:
阅读新闻

Hibernate 5.2.x 中 sessionFactory 的获取方式

[日期:2018-01-17] 来源:Linux社区  作者:frgod [字体: ]

版本: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 目录下。

本文永久更新链接地址http://www.chineselinuxuniversity.net/Linux/2018-01/150384.htm

linux
相关资讯       sessionFactory  Hibernate 5.2 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款