java - Persistence.xml 配置不正确

标签 java jdbc persistence ejb jta

我无法正确获取此持久性文件...我在本书中找不到更多信息作为指南。我正在使用 MySQL 数据库。

<?xml version="1.0" encoding="UTF-8"?>
    <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
      <persistence-unit name="a11_DA_g5_PU" transaction-type="JTA">
        <jta-data-source>a11_DA_g5</jta-data-source>
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <class>entities.Book</class>
        <class>entities.Author</class>
        <class>entities.Customer</class>
        <class>entities.Membership</class>
        <properties>
          <property name="eclipselink.target-database" value="DERBY"/>
          <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
          <property name="javax.persistence.jdbc.url" value="jdbc:mysql://studev.groept.be:3306/a11_DA_g5"/>
          <property name="javax.persistence.jdbc.user" value="a11_DA_g5"/>
          <property name="javax.persistence.jdbc.password" value="passwordhere"/>
          <property name="eclipselink.ddl-generation" value="create-tables"/>
        </properties>
      </persistence-unit>
    </persistence>

编辑

严重:DPL8015:存档 [EJBModule_jar] 中的部署描述 rune 件 META-INF/persistence.xml 中的部署描述符无效。 第 6 行第 15 列 -- cvc-complex-type.2.4.a:发现以元素“provider”开头的无效内容。 '{“http://java.sun.com/xml/ns/persistence”之一:共享缓存模式,“http://java.sun.com/xml/ns/persistence”:验证模式, “http://java.sun.com/xml/ns/persistence”:properties}' 是预期的。

严重:DPL8005:部署描述符解析失败:cvc-complex-type.2.4.a:发现以元素“provider”开头的无效内容。 '{“http://java.sun.com/xml/ns/persistence”之一:共享缓存模式,“http://java.sun.com/xml/ns/persistence”:验证模式, “http://java.sun.com/xml/ns/persistence”:properties}' 是预期的。

严重:部署应用 [VaadinTestApp] 时出现异常

严重:org.xml.sax.SAXParseException:cvc-complex-type.2.4.a:发现以元素“provider”开头的无效内容。 '{“http://java.sun.com/xml/ns/persistence”之一:共享缓存模式,“http://java.sun.com/xml/ns/persistence”:验证模式, "http://java.sun.com/xml/ns/persistence":properties}' 是预期的。 java.io.IOException: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: 发现以元素“provider”开头的无效内容。 '{“http://java.sun.com/xml/ns/persistence”之一:共享缓存模式,“http://java.sun.com/xml/ns/persistence”:验证模式, “http://java.sun.com/xml/ns/persistence”:properties}' 是预期的。

最佳答案

内部元素的顺序 <persistence-unit>很重要,<jta-data-source>应该去 <provider> :

<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
<jta-data-source>a11_DA_g5</jta-data-source>         

关于java - Persistence.xml 配置不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11084551/

相关文章:

java - Spring MVC @RestController -> 无论我做什么,PUTting 结果都是 "400 Bad Request"

java - In-App-Billing - BillingHelper 没有完全实例化

java - 行星围绕太阳旋转的循环?

java - 尽管已包含导入,但为什么找不到某些方法?

java - 通过单个连接进行 JDBC 选择查询的效率是否低于包含这些查询的过程?

java jdbc 类型 1 驱动程序 : thread safe or not?

c# - 如何在 NUnit 中测试同一类型的多个对象

java - 黑白 Hibernate 的 Sessionfactory.getCurrentSession() 和 SessionFactory.openSession() 的区别

java - com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException : Can't call rollback when autocommit=true

java - 能否说服 JPA 在例如 UUID 和字符串之间进行转换?