javax.ejb.EJBException: javax.ejb.CreateException: инициализация не удалась для Singleton EntityManagerFactory
При попытке использовать мой Entity Manager в любом из моих компонентов я получаю следующее сообщение об ошибке:
javax.ejb.EJBException: javax.ejb.CreateException: не удалось инициализировать для Singleton EntityManagerFactory `
Другая часть ошибки говорит:
Отсутствует поставщик сохраняемости для EntityManager с именем Assignment3JPAProvider
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="Assignment3JPAProvider">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<class>prog3060.entities.Age</class>
<class>prog3060.entities.AgeGroup</class>
<class>prog3060.entities.CensusYear</class>
<class>prog3060.entities.GeographicArea</class>
<class>prog3060.entities.Household</class>
<class>prog3060.entities.HouseholdEarners</class>
<class>prog3060.entities.HouseholdsByAgeRange</class>
<class>prog3060.entities.HouseholdSize</class>
<class>prog3060.entities.HouseholdType</class>
<class>prog3060.entities.TotalIncome</class>
<properties>
<property name="hibernate.connection.driver_class" value="org.apache.derby.jdbc.ClientDriver"/>
<property name="hibernate.connection.url" value="jdbc:derby://localhost:1527/CensusDB"/>
<property name="hibernate.default_schema" value="APP"/>
<property name="hibernate.connection.username" value="user"/>
<property name="hibernate.connection.password" value="123"/>
<property name="hibernate.connection.pool_size" value="10"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.DerbyTenSevenDialect"/>
</properties>
</persistence-unit>
EntityManagerFactory:
package prog3060.beans;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.ejb.LocalBean;
import javax.ejb.Singleton;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.Persistence;
@Singleton
@LocalBean
public class EntityManagerFactory implements EntityManagerFactoryLocal {
javax.persistence.EntityManagerFactory emf;
@Override
public EntityManager getEntityManager() {
return emf.createEntityManager();
}
@PostConstruct
void initialize() {
emf = Persistence.createEntityManagerFactory("Assignment3JPAProvider");
}
@PreDestroy
void destroy() {
emf.close();
}
}
это использует glassfish5 и jpa. В чем причина этого сбоя? это происходит всякий раз, когда я пытаюсь использовать менеджер сущностей.