初始SessionFactory创建failed.org.hibernate.HibernateException:找不到数据源

时间:2013-05-24 07:59:49

标签: java hibernate jboss5.x struts-1

从jboss JNDI获取sessionfactory时出现此错误,这是我的源代码。我已经多次尝试多次修改,但一直没有解决。 提前谢谢。

的MySQL-DS

放在jboss默认部署文件夹中。

<datasources>
<local-tx-datasource>
<jndi-name>jdbc/NeuraDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/neurahmis</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>admin</user-name>
<password>admin@123</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>1000</max-pool-size>
<exception-sorter-class-   name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>  
</local-tx-datasource>
</datasources>

的web.xml

在web.xml中添加了数据源

<resource-ref>
<description>Database connection resource</description>   
<res-ref-name>Neura</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

的JBoss-web.xml中

在jboss-web.xml中添加了jndi

<jboss-web>
<context-root>/neurads</context-root>
<resource-ref>
<res-ref-name>Neura</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<jndi-name>java:jdbc/NeuraDS</jndi-name>
</resource-ref>
</jboss-web>

hibernate.cfg.xml中

这些是我的hibernate属性。

<property name="hibernate.connection.datasource">java:/jdbc/NeuraDs</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property> 
<property name="connection.pool_size">1</property>
<property name="current_session_context_class">thread</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="show_sql">true</property>

HibernateUtil.java

获取会话工厂

sessionFactory=new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();

2 个答案:

答案 0 :(得分:0)

不确定为什么需要在web.xmljobss-web.xml中输入内容。 mysql-ds.xml应足以binding a datasource to JNDI tree

在文件hibernate.cfg.xml中,您将数据源称为java:/jdbc/NeuraDs,您可以将其更正为jdbc/NeuraDs然后尝试。这就是我在项目及其工作中使用它的方式。 JNDI名称应与您在mysql-ds.xml中提到的名称相同。

请确保检查启动日志以查看与此配置相关的任何错误。

答案 1 :(得分:0)

它与读取连接创建属性有关。当您通过系统属性直接提供连接属性时,它可以工作。与basic hibernate设置相关的内容看起来不对。