代码之家  ›  专栏  ›  技术社区  ›  James Sulak

autoeclipselink检测不到类的原因是什么?

  •  1
  • James Sulak  · 技术社区  · 6 年前

    我多次遇到Eclipselink无法自动检测实体类的问题,导致“Xyz不是已知的实体类型”消息。这是一个痛苦的调试和我有点无助的方法是或多或少地随机调整配置文件,直到它工作。

    我希望我知道一个更系统的方法,但我似乎对问题的可能原因了解不够。它们会是什么?是否概述了自动检测过程中发生的事情以及它工作所需的条件?

    所以,如果你自己遇到了这个问题,并且能够确定一个具体的原因,就把它贴在这里,或者在你已经看到它的时候投票给它。这样我们就可以产生一个按频率排序的典型问题列表。我会加上我实际解决的问题。

    • eclipselink使用OSGiExtender模式来监听包的注册,然后设置它们
    • 如果您使用 persistence.xml 对于配置,这是该文件应该位于的bundle。
    3 回复  |  直到 15 年前
        1
  •  1
  •   Kim Scholte    15 年前

    eclipselink jpa不能持久化扩展实体类的类对象。这些扩展类本身应该是实体类。

        2
  •  0
  •   James Sulak    15 年前

    实体类的捆绑包没有正确的 JPA-PersistenceUnits 其清单中的标头。这个标题是eclipselink如何发现有一个要处理的持久性单元。

    如果显式地列出类可以让它工作,那么错误/丢失的头不是您的问题。

        3
  •  0
  •   James Sulak    15 年前

    实体类在持久性单元和 persistence.xml exclude-unlisted-classes 参数到 false

    如果显式列出类是有帮助的,那么这可能是您的问题。