从 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>
休眠.cfg.xml
这些是我的休眠属性。
<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();