2012-06-18 2 views
15

Я не могу получить этот файл персистенции правильно ... Я не нашел в книге больше информации, которую я использую в качестве руководства. Я использую базу данных MySQL.Persistence.xml неправильно настроен

<?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> 

EDIT

СИЛЬНЫЙ: 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}".

СУРОВОЕ: Исключение при развертывании приложения [VaadinTestApp]

СУРОВЫЙ: org.xml.sax.SAXParseException: CVC-комплексно-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}".

+0

И что говорит сообщение об ошибке? Сообщения об ошибках предназначены для чтения. Я уверен, что это не просто говорит «Что-то не так». –

ответ

38

Порядок элементов внутри <persistence-unit> важно, <jta-data-source> должны пойти после того, как <provider>:

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

Хорошо, это улучшает ситуацию. Получение следующей ошибки: Вызвано: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: У вас возникла ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования вблизи значений IDENTITY_VAL_LOCAL() в строке 1 – mmvie

+0

Обратите внимание, что 'eclipselink.target-database' является' DERBY', но URL-адрес соединения указывает на MySQL. – axtavt

+0

Обнаружение этого странного, но я не могу найти ничего, как указать его на MySQL. Можете ли вы показать мне путь? – mmvie

6

Как the XSD словам, <provider> элемент должен предстать перед <jta-data-source> элементом.

+0

Какое определение, если элементы должны быть в порядке или нет: 'xsd: sequence' (определенный заказ) ' xsd: all' (без заказа) – FiruzzZ

Смежные вопросы