Hibernate4 获取sessionFactory出错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

Hibernate4 获取sessionFactory出错

2016-06-02 14:51:23 1650 1

利用

ServiceRegistry serviceRegistry = 
new ServiceRegistryBuilder().applySettings(configuration.getProperties())
.buildServiceRegistry();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);

空指针异常

hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC

        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

        <!-- 配置连接数据库的基本信息 -->
        <property name="connection.username">zy</property>
        <property name="connection.password">123456</property>
        <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:orcl</property>

        <!-- 配置 hibernate 的基本信息 -->
        <!-- hibernate 所使用的数据库方言 -->
        <property name="dialect">org.hibernate.dialect.OracleDialect</property>     

        <!-- 执行操作时是否在控制台打印 SQL -->
        <property name="show_sql">true</property>

        <!-- 是否对 SQL 进行格式化 -->
        <property name="format_sql">true</property>

        <!-- 指定自动生成数据表的策略 -->
        <property name="hbm2ddl.auto">update</property>

        <!-- 指定关联的 .hbm.xml 文件 -->
        <mapping resource="com/zy/hibernate/News.hbm.xml"/>

    </session-factory>

</hibernate-configuration>

News.hbm.xml
 <?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.zy.hibernate">

    <class name="News" table="NEWS2">

        <id name="id" type="java.lang.Integer">
            <column name="ID" />
            <!-- 指定主键的生成方式, native: 使用数据库本地方式 -->
            <generator class="sequence">
            <param name="sequence">news2_seq</param>
            </generator>
        </id>

       <property name="title" type="java.lang.String">
            <column name="TITLE" />
       </property>

       <property name="author" type="java.lang.String">
            <column name="AUTHOR" />
       </property>

       <property name="date" type="java.util.Date">
            <column name="DATE" />
       </property>

    </class>
取消 提交回答
全部回答(1)
  • 云栖技术
    2019-07-17 19:24:54

    Hibernate4废弃了AnnotationConfigration类,这就要求使用新的获取方式。
    下面用Hibernate3与新的方案做对比,给自己留个便于查询的记录。
    Hibernate3,未使用spring依赖注入的案例:

    [java] view plain copy
    public class HibernateUtil{  
    <span style="white-space:pre">  </span>private static SessionFactory sessionFactory;  
        static {  
            try{  
                sessionFactory  = new AnnotationConfigration().configure().buildSessionFactory();  
            } catch (Exception e) {  
                e.printStackTrace();  
            }  
        }  
        public static SessionFactory getSessionFactory(){  
            return sessionFactory;  
        }  
    }  
    
    Hibernate4的替换方案:
    [java] view plain copy
    public class HibernateUtil{  
    <span style="white-space:pre">  </span>private static SessionFactory sessionFactory;  
        static {  
            try{  
                Configuration cfg = new Configuration().configure();  
                ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();  
                sessionFactory = cfg.buildSessionFactory(serviceRegistry);  
    <span style="white-space:pre">      </span>}catch (Exception e) {  
                e.printStackTrace();  
            }  
        }  
        public static SessionFactory getSessionFactory(){  
            return sessionFactory;  
        }  
    0 0
相关问答

17

回答

【大咖问答】对话PostgreSQL 中国社区发起人之一,阿里云数据库高级专家 德哥

阿里ACE 彭飞 2019-07-10 09:36:10 1036644浏览量 回答数 17

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 226107浏览量 回答数 162

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 336984浏览量 回答数 8

110

回答

OSS存储服务-客户端工具

newegg11 2012-05-17 15:37:18 295499浏览量 回答数 110

18

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 646743浏览量 回答数 18

38

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 259810浏览量 回答数 38

21

回答

请教一下数据量有100万条左右要什么配置?

易网网络 2013-03-27 15:18:02 192630浏览量 回答数 21

249

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 305607浏览量 回答数 249

24

回答

【精品问答】python技术1000问(1)

问问小秘 2019-11-15 13:25:00 475543浏览量 回答数 24

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 204377浏览量 回答数 2
+关注
云栖技术
社区爱好者,专为云栖社区服务!
34
文章
898
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载