Wildflyで非常に基本的なJPAの例を実行しようとしています。持続性プロバイダなし
人とプロジェクトが2つのJPAエンティティです: これは私のプロジェクトの構造です。 これは私がpersistence.xmlのが有効であることを知っているので、
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="testJpa">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>entities.Person</class>
<class>entities.Project</class>
<properties>
<property name="eclipselink.target-database" value="Derby"/>
<property name="javax.persistence.jdbc.url" value="jdbc:derby://localhost:1527/JPADB"/>
<property name="javax.persistence.jdbc.user" value="user"/>
<property name="javax.persistence.jdbc.password" value="pwd"/>
<property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
<property name="eclipselink.logging.level" value="FINE"/>
<property name="eclipselink.ddl-generation" value="create-tables"/>
</properties>
</persistence-unit>
</persistence>
テーブルが正しくエンティティクラスから生成されている私のpersistence.xmlの内容です。
私はこのように、CreatePersonクラスのエンティティを作成しようとしています:
public class CreatePerson {
public static void main(String[ ] args) {
EntityManagerFactory emfactory = Persistence.createEntityManagerFactory("testJpa");
EntityManager entitymanager = emfactory.createEntityManager();
entitymanager.getTransaction().begin();
Person usr = new Person();
usr.setName("Bob");
entitymanager.persist(usr);
entitymanager.getTransaction().commit();
entitymanager.close();
emfactory.close();
}
}
私はあなたが何をしているかは全く不明である次のエラー
Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named testJpa
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:61)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
at services.CreatePerson.main(CreatePerson.java:11)
アプリケーションをどのように構築しますか?メイヴンとターゲット戦争?どちらの依存関係の範囲を使用していますか?提供されますか?もしそうなら、Wildflyがクラスパスにeclipselinkの依存関係を持っていると確信していますか? –