Ответ 1
Порядок элементов внутри <persistence-unit>
важен, <jta-data-source>
должен идти после <provider>
:
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>a11_DA_g5</jta-data-source>
Я не могу получить этот файл персистентности правильно... Я не нахожу в книге больше информации, которую я использую в качестве руководства. Я использую базу данных 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>
ИЗМЕНИТЬ
SEVERE: DPL8015: Недопустимые дескрипторы развертывания в файле дескриптора развертывания META-INF/persistence.xml в архиве [EJBModule_jar]. Строка 6 Столбец 15 - cvc-complex-type.2.4.a: Недействительный контент был найден, начиная с элемента "поставщик". Один из {{http://java.sun.com/xml/ns/persistence ":shared-cache-mode", http://java.sun.com/xml/ns/persistence ":validation-mode, Предполагается, что" http://java.sun.com/xml/ns/persistence ":properties}".
SEVERE: DPL8005: Deployment Дескриптор синтаксического анализа: cvc-complex-type.2.4.a: Недействительный контент был найден, начиная с элемента "поставщик". Один из {{http://java.sun.com/xml/ns/persistence ":shared-cache-mode", http://java.sun.com/xml/ns/persistence ":validation-mode, Предполагается, что" http://java.sun.com/xml/ns/persistence ":properties}".
SEVERE: исключение при развертывании приложения [VaadinTestApp]
SEVERE: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Недействительный контент был найден, начиная с элемента "поставщик". Один из {{http://java.sun.com/xml/ns/persistence ":shared-cache-mode", http://java.sun.com/xml/ns/persistence ":validation-mode, Ожидается" http://java.sun.com/xml/ns/persistence ":properties}". java.io.IOException: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Недействительный контент был найден, начиная с элемента "поставщик". Один из {{http://java.sun.com/xml/ns/persistence ":shared-cache-mode", http://java.sun.com/xml/ns/persistence ":validation-mode, Предполагается, что" 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>
Как XSD говорит, что элемент <provider>
должен находиться перед элементом <jta-data-source>
.