【问题标题】:CWWJP0009E error when creating persistence unitCWWJP0009E 创建持久性单元时出错
【发布时间】:2014-06-10 13:06:54
【问题描述】:

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

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

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

【问题讨论】:

    标签: jakarta-ee jpa persistence.xml ibm-was


    【解决方案1】:

    在 JPA 的 WAS 中启用跟踪

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

    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。就我而言,我在persistence.xml 的PU 定义中添加了Class2。那行得通。

    祝大家好运;-)

    【讨论】:

      猜你喜欢
      • 2013-05-17
      • 2018-10-22
      • 1970-01-01
      • 1970-01-01
      • 2012-03-11
      • 1970-01-01
      • 2013-02-15
      • 2021-02-27
      • 2011-10-22
      相关资源
      最近更新 更多