java - 在类路径中找到带有 TopLink : No META-INF/persistence. xml 的 JPA

标签 java jpa persistence classpath toplink

public class LoginTest {

public static void main(String[] args) {
    EntityManagerFactory emf = Persistence.createEntityManagerFactory("IRCBotPU");
    EntityManager em = emf.createEntityManager();

    em.getTransaction().begin();

    Login lg = new Login();
    lg.setPassword("password");
    lg.setUserName("Rocky");

    em.persist(lg);
    em.flush();

    Login st = em.find(Login.class, lg.getPassword());
    System.out.println(st);

    em.getTransaction().commit();

    em.close();
    emf.close();

}
}

当我尝试运行这个类时出现异常

javax.persistence.PersistenceException: No Persistence provider for EntityManager named IRCBotPU:  
   No META-INF/persistence.xml was found in classpath.

META-INF/persistence.xml 在我的类路径中。我不知道是什么原因或这个异常。

持久性库是 TopLink。

最佳答案

我有同样的问题,我将我的 persistence.xml 文件保存在 WebContent/META-INF 目录中,而 jpa 规范说:
持久化单元的根是WEB-INF/classes目录;因此,persistence.xml 文件包含在 WEB-INF/classes/META-INF 目录中
尝试将 persistence.xml 放在 src/META-INF 下。

关于java - 在类路径中找到带有 TopLink : No META-INF/persistence. xml 的 JPA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1279060/

相关文章:

java - 仅具有终止表达式的 for 循环与 while 循环

java - 如果一个方法同时被调用太多次会发生什么

java - EclipseLink 缓存大小默认...是每个实体还是总计?

java - 即使类路径中存在依赖项,Spring Boot也会显示 'can not be resolved'

java - 实体不通过 TomEE 上的 Spring(CrudRepository) 持久化

scala - 发生崩溃时保持 Akka 状态

javascript - 当应用程序通过实时服务器运行时,localStorage 是否应该保留?

java - 如何使用 RestAssured 将 "application/octet-stream"内容类型发布到 Rest API

java - 在Kotlin中创建JPA规范对象

cryptography - Java 应用程序上不受支持的曲线 : 1. 2.840.10045.3.1.7