您的位置:首页 > 数据库 > Oracle

Spring整合jpa连接Oracle数据库向数据库中自动添加实体类表出现NullPointerException

2017-07-01 00:37 423 查看
环境:

- 数据库: oracle 10g, 使用vm虚拟机运行

- 服务器: tomcat7

- JDK: 7.0.69

- Spring: 4.1.7.RELEASE

- IDE: idea2017

使用Spring框架整合jpa连接Oracle数据库, 运行项目往数据库中自动添加表, 表名:

- T_ARCHIVE

- T_AREA

- T_COURIER

- T_FIXED_AREA

- T_STANDARD

- T_SUB_ARCHIVE

- T_SUB_AREA

- T_TAKE_TIME

- T_VEHICLE

抛出异常:

Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
...
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
...
Caused by: java.lang.NullPointerException
...
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
...
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
...


抛出异常后查看数据库只有一张表添加成功…其余失败…

找了一晚上最终找出问题来源:

在往数据库添加表之前创建了一个用户, 并将这个用户权限设置成DBA权限, 而T_AREA的表名在DBA权限下无法创建导致发生异常, 将这张表名更改后程序运行正常…

但是具体原因目前还不清楚…
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: