我正在从NetBeans向WildFly 10部署一个简单的Web应用程序,以尝试自学Java EE。但是,尝试从NetBeans运行jpql查询时出现以下错误:
persistence.xml
尽管我已经定义了持久性提供程序。这是我的<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="WebApplication1PU" transaction-type="JTA">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>java:/jboss/db</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServer2012Dialect"/>
<property name="hibernate.show_sql" value="true"/>
</properties>
</persistence-unit>
</persistence>
:
10:33:07,600 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 33) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "datasources"),
("jdbc-driver" => "JTDS")
]) - failure description: "WFLYJCA0041: Failed to load module for driver [net.sourceforge.jtds]"
当我在WildFly中测试我的数据源时,它可以工作:
我的JPA子系统的默认数据源配置为java:/ jboss / db
我将它列为WildFly中的持久性单元:
我正在使用JTDS驱动程序用于MS SQL Server,我在启动服务器时遇到了这个错误,我无法摆脱:
{{1}}
然而,正如我所说,测试数据源是有效的,所以这不重要。任何人都可以帮助我吗?
答案 0 :(得分:1)
正如评论所提到的,它说Wildfly无法找到提供者模块。
下载:https://sourceforge.net/projects/jtds/files/jtds/1.3.1/jtds-1.3.1-dist.zip/download - 这是jtds JDBC驱动程序, 并将其安装到wildfly的/ modules目录中。
您可以启动./jboss-cli.sh来安装模块。
请参阅:JTDS module under WildFly (JBoss) 更深入地了解它。
如何将postgres jdbc驱动程序安装到wildfly中,但它实际上与其他JDBC驱动程序相同,只是包名更改等。
答案 1 :(得分:-1)
在持久性单元属性中,您缺少以下内容
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/mydb"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.username" value="dbroot"/>
<property name="hibernate.connection.password" value="password"/>