带有EMF Texo的Glassfish 4-JPA没有持久性提供程序

莫妮卡

我正在尝试在Glassfish 4中使用EMF Texo,但是当我想初始化EntityManagerProvider时出现错误:

javax.persistence.PersistenceException:没有名为HelloTexo的EntityManager的持久性提供程序

我试图实现此处找到的Texo教程所不同的是,我希望它在Glassfish 4上运行。

贝娄是我的代码:

web.xml:

<listener>
    <listener-class>texo.web.TexoContextListener</listener-class>
</listener>

<filter>
    <filter-name>emFilter</filter-name>
    <filter-class>org.eclipse.emf.texo.server.store.CurrentEntityManagerRequestFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>emFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

TexoContextListener.java

import javax.servlet.ServletContextListener;
import org.eclipse.emf.texo.server.service.ServiceModelPackageRegistry;
import org.eclipse.emf.texo.server.store.EntityManagerProvider;
import org.eclipse.emf.texo.test.model.base.identifiable.IdentifiableModelPackage;

public class TexoContextListener implements ServletContextListener{

@Override
public void contextInitialized(ServletContextEvent arg0) {
    ServiceModelPackageRegistry.getInstance().register(IdentifiableModelPackage.INSTANCE);
    EntityManagerProvider.getInstance().setPersistenceUnitName("HelloTexo"); 
    // initialize aggressively
    EntityManagerProvider.getInstance().initialize();
}
@Override
public void contextDestroyed(ServletContextEvent arg0) {
    // TODO Auto-generated method stub

}

}

在调试中,当我尝试初始化()EntityManagerProvider时,出现上述错误。

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="HelloTexo" transaction-type="JTA">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
        <jta-data-source>jdbc/__MySQLDataSource</jta-data-source>
    </persistence-unit>
</persistence>

我是通过从Eclipse将JPA Project Facet添加到我的项目中来自动创建此文件的。与数据库的连接成功。我试图将persistence.xml移到WEB-INF / classes / META-INF /,但是仍然遇到相同的错误。

知道什么可能导致错误吗?我现在在这里呆了几天……我真的希望有人能够给我一个想法。

尼克拉克

可能存在类加载器冲突。Glassfish4在容器库路径中包含EclipseLink。尝试<provider>WEB-INF/lib文件夹中删除您的显式标记和所有jpa实现jar 标准的Glassfishjavax.persistence.jar应该是您所需要的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Hibernate的5.2.2:没有持久性提供的EntityManager

没有名为EntityManager的持久性提供程序

没有名为X的EntityManager的持久性提供程序

使用Hibernate作为提供程序的JPA 2.0-例外:EntityManager没有持久性提供程序

javax.persistence.PersistenceException:没有名为enterManager的EntityManager的持久性提供程序

没有@Id的休眠/持久性

“没有用于EntityManager的持久性提供程序”错误

持久性单元错误:javax.persistence.PersistenceException:没有名为EntityManager的持久性提供程序

JPA + Hibernate = EntityManager没有持久性提供程序

没有为我的应用程序运行EntityManager的持久性提供程序

测试中没有EntityManager的持久性提供程序

JPA 2应用程序中如何有多个持久性单元?

javax.persistence.PersistenceException:没有名为XX的EntityManager的持久性提供程序

NHibernate:CastProjection没有持久性

没有名为***的EntityManager的持久性提供程序

没有名为DataSourcePostgres的EntityManager的持久性提供程序

没有名称为defaultPersistenceUnit的EntityManager的持久性提供程序

Appengine后端中没有我的EntityManager的持久性提供程序

休眠和mysql的Persistence.xml设置显示“没有EntityManager的持久性提供程序”

具有各种JPA版本的复合持久性单元

没有名为my-app的EntityManager的持久性提供程序:名为org.hibernate.ejb.HibernatePersistence的提供程序

JPA错误-名为EntityManager的没有持久性提供程序

Hibernate-EntityManager没有持久性提供程序

Maven不导出persistence.xml(PersistenceException:EntityManager没有持久性提供程序)

运行JSPX时,带有GlassFish 4的Oracle ADF错误

带有 JAVA 持久性 API ( JPA) 的 MongoDB

没有命名 EntityManager 的持久性提供程序 - 我做错了什么?

javax.persistence.PersistenceException:没有名为 aramis 的 EntityManager 的持久性提供程序

Hibernate 5和JPA:选择没有孩子的表,但在保存时保持持久性