【发布时间】:2016-05-29 02:32:54
【问题描述】:
我正在从 NetBeans 将一个简单的 Web 应用程序部署到 WildFly 10,以尝试自学 Java EE。但是,尝试从 NetBeans 运行 jpql 查询时出现以下错误:
javax.persistence.PersistenceException: No Persistence provider for EntityManager named WebApplication1PU
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:85)
尽管我已经定义了一个持久性提供程序,但还是这样。这是我的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>
当我在 WildFly 中测试我的数据源时,它可以工作:
我的 JPA 子系统的默认数据源配置为 java:/jboss/db
我已将它列为 WildFly 中的持久性单元:
我正在为 MS SQL Server 使用 JTDS 驱动程序,但在启动服务器时确实出现了这个我无法摆脱的错误:
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]"
但是,正如我所说,测试数据源是有效的,所以这无关紧要。谁能帮帮我?
【问题讨论】:
-
该错误表明它无法找到/加载 MS SQL 驱动程序。看来您正在使用 JTDS。你能检查一下这篇文章及其解决方案吗:stackoverflow.com/questions/20190703/…
标签: jpa wildfly persistence-provider