请问在使用Hibernate连接oracle数据库时为什么会报空指针错误? 10

Configurationconfiguration=newConfiguration();configuration.configure();ServiceRegist... Configuration configuration = new Configuration();
configuration.configure();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
此处最后一行报错,意思是空指针:
Exception in thread "main" java.lang.NullPointerException
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:207)
at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:71)
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2273)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2269)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1738)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1778)

同样的配置在连接MySQL时没有问题,我的hibernate.cfg.xml内容如下:
<!--
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>

<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
-->
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:MYORCL</property>
<property name="connection.username">scott</property>
<property name="connection.password">tiger</property>
<property name="dialect">org.hibernate.dialect.OracleDialect</property>

<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>

其中关于MySQL的部分被注释掉了,只要切换成MySQL就没有问题,数据库方面我直接用jdbc连接过,没有任何问题,所用配置就是这个xml里面的配置,在线等高手,谢谢!!!!!我是新手,请不要笑。
展开
 我来答
leexiaol1108
2012-03-29 · 超过58用户采纳过TA的回答
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:149万
展开全部
数据库名不一样
oracle 里面的数据库名字 要与 mySQL 的一样就OK了 ! 貌似你 MySQL 的 数据库是 hibernate
更多追问追答
追问
我的hibernate设置是createcreate
追答
看看图片 jdbc:mysql://localhost:3306/hibernate
这一行 你连接的是 Mysql 的 名叫 hibernate 的数据库。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夏初丶夏沫
2015-02-06 · TA获得超过122个赞
知道答主
回答量:6
采纳率:0%
帮助的人:3.2万
展开全部
<property name="hibernate.temp.use_jdbc_metadata_defaults">false</property>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wgp701
2012-03-29 · TA获得超过380个赞
知道小有建树答主
回答量:477
采纳率:100%
帮助的人:233万
展开全部
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
<property name="connection.username">scott</property>
<property name="connection.password">tiger</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
侯超波ZY
2012-04-19 · 超过10用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:29.3万
展开全部
哥们,我也是这个问题,我的是11g的,换了个jar包就行了
追问
你是说换了oracle的驱动jar包么?还是hibernate的包?我电脑用的是oracle9i的
追答
是换个oraclejar包
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8927dbe5b
2012-03-29 · TA获得超过448个赞
知道小有建树答主
回答量:1011
采纳率:100%
帮助的人:286万
展开全部
我看看你main();是咋写的。
更多追问追答
追问
前面那段就是一个方法,名字叫beforeClass,实际运行的时候也就运行了这个方法
main方法是运行前面这个方法
beforeClass();
追答
那你就要看看传的参数有没有值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式