【发布时间】:2023-04-07 11:59:01
【问题描述】:
我在创建 createEntityManagerFactory 时遇到了以下异常,尽管我在 META-INF 文件夹中有 persistence.xml,并且持久性单元 ABC 存在于 persistence.xml 中并且持久性提供程序处于休眠状态,如下所示。
<persistence-unit name="ABC" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
异常
javax.persistence.PersistenceException: No Persistence provider for EntityManager named ABC
在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
所以我认为 createEntityManagerFactory 不是指正确的 persistence.xml 文件,我更改了 persistence-alternative.xml 和 我用下面这段代码来引用persistence-alternative.xml
EntityManagerFactory emf = objEmfMap.get(unitName);
try{
Properties pros = new Properties();
pros.setProperty(PersistenceUnitProperties.ECLIPSELINK_PERSISTENCE_XML,
"META-INF/persistence-alternative.xml");
// check if the entity manager factory is available for the unit else create
if (emf == null) {
emf = Persistence.createEntityManagerFactory(unitName,pros);
objEmfMap.put(unitName, emf);
}
我将 persistence-alternative.xml 放在 META-INF 文件夹中。 但我仍然面临同样的例外。
javax.persistence.PersistenceException:没有名为 ABC 的 EntityManager 的持久性提供程序 在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
请告诉我如何解决这个问题..
提前致谢
【问题讨论】:
标签: java hibernate jpa jakarta-ee orm