【发布时间】:2016-08-08 01:01:00
【问题描述】:
我有一个 EJB 项目示例,它使用 @PersistenceContext 连接到我的数据库。 这很好用,但由于我的新项目不是 EJB,我必须想办法解决这个问题。 所以我想出了这样的东西:
EntityManagerFactory entityFactory = Persistence.createEntityManagerFactory("avaliacaoneomind");
EntityManager em = entityFactory.createEntityManager();
但是当我这样做时,我得到了这个错误:
javax.persistence.PersistenceException:没有名为 avaliacaoneomind 的 EntityManager 的持久性提供程序
我知道我的 persistence.xml 是正确的并且在正确的位置,因为当我使用 @PersistenceContext(name="avaliacaoneomind") 作为测试时,我的表会在我的数据库中自动创建。如果我从代码中删除 @PersistenceContext,则不会创建表。
如何修复此错误?我尝试了所有可能找到的链接,但似乎没有一个能解决我的问题。
下面是我的persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence>
<!--Nome do contexto que configura o Provedor de Persistência -->
<persistence-unit name="avaliacaoneomind">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/avaliacaoneomind</jta-data-source>
<properties>
<property name="eclipselink.ddl-generation" value="create-or-extend-tables"/>
<property name="eclipselink.ddl-generation.output-mode" value="both" />
</properties>
</persistence-unit>
</persistence>
【问题讨论】: