hibernate.cfg.xml配置如下:
<session-factory>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.username">scott</property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="jndi.url">jdbc:oracle:thin:@127.1:1521:MASTER</property>
<property name="connection.datasource">java:comp/env/jdbc/Oracle</property>
<property name="connection.password">tiger</property>
<property name="show_sql">true</property>
<property name= "connection.pool_size">100</property>
<mapping resource="com/pojo/Dept.hbm.xml" />
<mapping resource="com/pojo/Emp.hbm.xml" /></session-factory>
运行后的异常:
%%%% Error Creating SessionFactory %%%%
org.hibernate.HibernateException: Could not find datasource
at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:56)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:366)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:60)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1881)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1174)
at com.test.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:31)
at com.test.Test.insertDept(Test.java:11)
at com.test.Test.main(Test.java:52)
Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
... 9 more
%%%% Error Creating SessionFactory %%%%
org.hibernate.MappingException: Could not read mappings from resource: com/pojo/Dept.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:485)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1465)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1433)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1414)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1390)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1310)
at com.test.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:69)
at com.test.HibernateSessionFactory.getSession(HibernateSessionFactory.java:53)
at com.test.Test.insertDept(Test.java:11)
at com.test.Test.main(Test.java:52)
Caused by: org.hibernate.DuplicateMappingException: Duplicate collection role mapping com.pojo.Dept.emp
at org.hibernate.cfg.Mappings.addCollection(Mappings.java:124)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2030)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2005)
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:368)
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:282)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:153)
at org.hibernate.cfg.Configuration.add(Configuration.java:386)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:427)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:482)
... 9 more
Exception in thread "main" java.lang.NullPointerException
at com.test.Test.insertDept(Test.java:12)
at com.test.Test.main(Test.java:52)
<session-factory>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.username">scott</property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="jndi.url">jdbc:oracle:thin:@127.1:1521:MASTER</property>
<property name="connection.datasource">java:comp/env/jdbc/Oracle</property>
<property name="connection.password">tiger</property>
<property name="show_sql">true</property>
<property name= "connection.pool_size">100</property>
<mapping resource="com/pojo/Dept.hbm.xml" />
<mapping resource="com/pojo/Emp.hbm.xml" /></session-factory>
运行后的异常:
%%%% Error Creating SessionFactory %%%%
org.hibernate.HibernateException: Could not find datasource
at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:56)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:366)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:60)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1881)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1174)
at com.test.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:31)
at com.test.Test.insertDept(Test.java:11)
at com.test.Test.main(Test.java:52)
Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
... 9 more
%%%% Error Creating SessionFactory %%%%
org.hibernate.MappingException: Could not read mappings from resource: com/pojo/Dept.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:485)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1465)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1433)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1414)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1390)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1310)
at com.test.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:69)
at com.test.HibernateSessionFactory.getSession(HibernateSessionFactory.java:53)
at com.test.Test.insertDept(Test.java:11)
at com.test.Test.main(Test.java:52)
Caused by: org.hibernate.DuplicateMappingException: Duplicate collection role mapping com.pojo.Dept.emp
at org.hibernate.cfg.Mappings.addCollection(Mappings.java:124)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2030)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2005)
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:368)
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:282)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:153)
at org.hibernate.cfg.Configuration.add(Configuration.java:386)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:427)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:482)
... 9 more
Exception in thread "main" java.lang.NullPointerException
at com.test.Test.insertDept(Test.java:12)
at com.test.Test.main(Test.java:52)
解决方案 »
- 如何将下面的sql语句转换为hibernate的 hql语句
- 都知道dao 有没有接触过dto能介绍区别吗
- frameset的疑难杂症,请大家帮帮!多个frameset的问题,请高手出马!
- Jbuilder 里tomcat下建立的WebModule路径只能是大写,怎么改
- 高分求助,很奇怪但很简单的问题...
- 为什么自己些个servlet copy到tomcat的examples里就可以运行了
- MOLOLA SB1
- (HttpURLConnection) url.openConnection();问题,在线等候
- struts的关于<bean:write>标签显示int属性的问题。
- 如何改变网页上的鼠标图标.急。。
- jsp开发高手请进
- struts的action的问题
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="connection.datasource">
....
</property>
</session-factory>
配置下就ok了
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver </property>
<property name="connection.username">scott </property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect </property>
<property name="jndi.url">jdbc:oracle:thin:@127.1:1521:MASTER </property>
<property name="connection.datasource">java:comp/env/jdbc/Oracle </property>
<property name="connection.password">tiger </property>
<property name="show_sql">true </property>
<property name= "connection.pool_size">100 </property>
<mapping resource="com/pojo/Dept.hbm.xml" />
<mapping resource="com/pojo/Emp.hbm.xml" />
</session-factory>
改成这样试试看:
<session-factory>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect </property>
<property name="connection.datasource">java:comp/env/jdbc/Oracle</property>
<mapping resource="com/pojo/Dept.hbm.xml" />
<mapping resource="com/pojo/Emp.hbm.xml" />
</session-factory>
前提是你正确配置了jdbc/Oracle
恩 的确是 你都已经配了个DATASOURCE还搞其它属性有什么用,或者把<property name="connection.datasource">java:comp/env/jdbc/Oracle </property> 去掉呵 LZ试一下吧!