0

在 IBM WebSphere Application Server WAS 7 中启动我的 Java EE 应用程序时,我遇到了以下错误。

JPAPUnitInfo E CWWJP0009E: 服务器无法从文件:/C:/ PATH/TO/APPLICATION /target/classes/ 模块中的 org.hibernate.ejb.HibernatePersistence 提供程序为NAME_OF_THE_PERSISTENCE_UNIT持久单元创建 EntityManagerFactory 工厂。

您的持久性单元的定义肯定有问题。您可以在persistence.xml文件中找到配置。要获得更详细的信息,您必须启用对服务器 JPA 支持的跟踪。

4

1 回答 1

0

在 WAS 中为 JPA 启用跟踪

从应用服务器管理控制台的主菜单中选择:

  1. 故障排除
  2. 日志和跟踪
  3. 你的服务器
  4. 更改日志详细级别
  5. 切换到两个选项卡之一:
    • 持久更改的“配置”,重启后生效
    • “运行时”用于立即生效的更改,重启后恢复
  6. 添加所有严重性的消息com.ibm.ws.jpa.*

您的最终跟踪配置可能如下所示:

*=info: com.ibm.ws.jpa.*=all

这可能会立即生效,也可能会在重新启动后生效,具体取决于您在上面的选择。

现在您可以在服务器的文件中找到要记录的信息,该trace.log文件存储在服务器的日志目录中。例如

C:\IBM\SDP\runtimes\base_v7\profiles\AppSrv01\logs\server1


解决方案

您的问题的原因可能差异很大。因此,您必须依靠跟踪文件的诊断。

但是,在我的情况下,我在那里发现了以下内容:

JPAPUnitInfo 3 捕获意外异常:org.hibernate.AnnotationException:使用@OneToMany 或@ManyToMany 针对未映射的类:com.acme.Class1.prop2[com.acme.Class2]

这可能对您有帮助,也请注意AnnotationException。就我而言,我Class2persistence.xml. 那行得通。

祝大家好运;-)

于 2014-06-10T13:06:54.637 回答