JPA - “找不到类型的元数据”例外

时间:2010-12-01 18:24:53

标签: java hibernate orm jpa persistence

我的应用程序中使用的JPA实现是Kodo。 当试图在DB中查询实体时,我得到了一个非常奇怪的例外:

org.apache.openjpa.persistence.ArgumentException:未找到类型“class com.verid.ims.model.AddressUS ”的元数据。该类未出现在持久类型列表中:[com.verid.ims.model.Birthdate,com.verid.ims.model.PersonName, com.verid.ims.model.AddressUS , com.rsa.idv.ims.feedback.IMSFeedback,com.rsa.idv.ims.notification.IMSNotification,com.rsa.idv.ims.provider.IMSProvider,com.rsa.idv.ims.notification.NotificationEntry,com。 rsa.idv.ims.enroll.SecretUserQuestion,com.rsa.idv.ims.enroll.Enrollment]。

请注意,根据异常未出现在持久性类型列表中的AddressUS类实际上在列表中! (粗体)

AddressUS类映射到我的orm.xml文件中(它不在persistence.xml描述符中,因为它不是实体,只是可嵌入的)。这是映射:

<embeddable class="com.verid.ims.model.AddressUS">
  <attributes>
    <basic name="city" />
    <basic name="state">
      <enumerated>STRING</enumerated>
    </basic>
   <basic name="street1" />
   <basic name="street2" />
   <basic name="zipcode" />
   <basic name="suite" />
  </attributes>
</embeddable>

毋庸置疑,persistence.xml描述符引用了orm.xml文件。

异常仅发生在某些环境(并非所有环境)上,这基本上意味着它是一个环境问题。什么可能导致这种情况?

1 个答案:

答案 0 :(得分:0)

我可以确认有同样的问题。但这是不存在的行为。应用程序工作正常(几天),然后突然出现此问题。我们有集群,只有集群中的一台服务器出现此问题。

重新启动应用程序后,OpenJPA再次正常运行。

我们也有问题,OpenJPA工作正常,然后开始为某些表生成无效查询。似乎类或数据库元数据在某些时刻已经损坏。发生问题后,将生成无效查询。

您是否有关于此问题的一些新信息?