Как исправить ошибку No Persistence provider for EntityManager named... при использовании EclipseLink (JPA 2.1) в NetBeans
При попытке использования EntityManager для именованного запроса
public static void main(String[] args) {
EntityManagerFactory factory = Persistence.createEntityManagerFactory("CentreLutik");;
EntityManager manager = factory.createEntityManager();
manager.getTransaction().begin();
Student student = new Student();
ArrayList results = (ArrayList) manager.createNamedQuery("Student.findAll").getResultList();
}
получаю ошибку: Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named CentreLutik at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:85) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54) at centrelutik.Main.main(Main.java:20)
Код для 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="CentreLutikPU" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>centrelutik.Student</class>
<class>centrelutik.Groupinfo</class>
<class>centrelutik.Subject</class>
<class>centrelutik.Teacher</class>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:db12c" />
<property name="javax.persistence.jdbc.user" value="centre" />
<property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver" />
<property name="javax.persistence.jdbc.password" value="123" />
</properties>
</persistence-unit>
</persistence>