Apache Derby + JPA - PullRequest
       20

Apache Derby + JPA

2 голосов
/ 25 января 2012

У меня есть встроенная база данных derby, и я работаю с jpa.Это мой файл 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="pers">

        <class>entities.Leverancier</class>
        <class>entities.Prijsproduct</class>
        <class>entities.Product</class>


    </persistence-unit>
</persistence>

Что я должен изменить или добавить, чтобы это работало.Когда я запускаю свой код сейчас, я получаю следующее:

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named pers
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
at test.Test.main(Test.java:19)

1 Ответ

2 голосов
/ 25 января 2012

Ваш persistence.xml неверен. Посмотрите на образец ниже:

<persistence-unit name="MyAppPU" transaction-type="RESOURCE_LOCAL">    
    <!-- This is where you mention your JPA runtime provider e.g. it's EclipseLink here -->
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>    

    <class>mypkg.MyEntity</class>

    <properties>
      <property name="javax.persistence.jdbc.url" value="jdbc:derby://localhost:1527/my_schema"/>
      <property name="javax.persistence.jdbc.password" value="pass"/>
      <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
      <property name="javax.persistence.jdbc.user" value="user"/>
    </properties>

</persistence-unit>

Вы также должны убедиться, что вы поместили файлы jar вашего провайдера JPA (вместе с файлом jar derby-client) в путь к классам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...