JPA - исключение "метаданные не найдены для типа" - PullRequest
1 голос
/ 01 декабря 2010

Реализация JPA, используемая в моем приложении, - Kodo. При попытке запросить в БД сущность, я получаю очень странное исключение:

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. .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 голосов
/ 08 августа 2011

Я могу подтвердить, что есть такая же проблема.Но это незаметное поведение.Приложение работает нормально некоторое время (несколько дней), а затем внезапно появляется эта проблема.У нас есть кластер, и эта проблема возникает только на одном сервере в кластере.

После перезапуска приложения OpenJPA снова работает нормально.

У нас также есть проблема, когда OpenJPA работает нормально до некоторого момента и затем запускаетсясоздать неверный запрос для некоторой таблицы.Похоже, что метаданные класса или базы данных были повреждены в какой-то момент.После возникновения проблемы генерируется неверный запрос.

У вас есть какая-то новая информация об этой проблеме?

...