0

JPA と EclipseLink を使用して要素を永続化しようとしています。だから私は永続化するクラスを作成しました

@Entity
public class Couple implements Serializable{
    private static final long serialVersionUID = 1L;
    @Column(name = "OBJECTID")
    private String objectID;
    @Column(name = "EPCNUMBER")
    private String epcNumber;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

等々。それを「使用」するクラスを作成しました:

public class Main {
  private static final String PERSISTENCE_UNIT_NAME = "MyPU";
  private static EntityManagerFactory factory;

  public static void main(String[] args) {
    factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
    EntityManager em = factory.createEntityManager();
    TypedQuery<Couple> q = em.createQuery("SELECT c FROM Couple c", Couple.class);
    List<Couple> couples = (List<Couple>) q.getResultList();

そして、私は次の 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="MyPU">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <jta-data-source>localJTA</jta-data-source>
        <class>fr.mypackage.com.Couple</class>
        <properties>
            <property name="eclipselink.ddl-generation" value="create-tables"/>
            <property name="eclipselink.ddl-generation.output-mode" value="database" />
            <property name="eclipselink.logging.level" value="INFO"/>
        </properties>
    </persistence-unit>
</persistence>

しかし、プロパティを変更しても、同じエラーが発生します:

スレッド「メイン」での例外 javax.persistence.PersistenceException: MyPU という名前の EntityManager の永続化プロバイダーがありません (factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME); の呼び出し時)。

ling xml と永続化ユニットに何か問題がありましたか? 私はクラスパスに以下を追加しました:

javax.persistence.jar
javax.ejb.jar
eclipselink.jar
javax.persistence_1.0.0.jar
javax.persistence_2.0.4.v201112161009.jar
derby.jar

私たちを手伝ってくれますか ?ありがとう !

4

1 に答える 1

0

私のアプリケーションでは、Netbeans プロジェクトをコンパイルするまで、この問題が発生していました。その後、うまくいきました。

于 2016-09-26T19:35:39.107 に答える