Не найдено метаданных для типа, использующего OpenJPA с RuntimeUnenhancedClasses - PullRequest
4 голосов
/ 25 октября 2010

Я использую JPA (OpenJPA).У меня есть следующие записи в моем persistence.xml:

<property name="openjpa.RuntimeUnenhancedClasses" value="supported"/>

У меня также есть класс Serviceoffering, указанный в persistence.xml.Я получаю следующее исключение, когда пытаюсь запустить свой код, связанный с JPA.В чем может быть проблема?

No metadata was found for type "class com.XYZ.cloud.bss.client.db.data.Serviceoffering".  Ensure that the class is enhanced (if necessary), that the class has appropriate metadata, and that if you list your persistent classes, the class is included in your list.
C = null
<openjpa-1.2.1-SNAPSHOT-r422266:686069 fatal user error> org.apache.openjpa.persistence.ArgumentException: No metadata was found for type "class com.XYZ.cloud.bss.client.db.data.Serviceoffering".  Ensure that the class is enhanced (if necessary), that the class has appropriate metadata, and that if you list your persistent classes, the class is included in your list.
    at org.apache.openjpa.meta.MetaDataRepository.getImplementorMetaDatas(MetaDataRepository.java:1108)
    at org.apache.openjpa.kernel.QueryImpl.createExecutor(QueryImpl.java:720)
    at org.apache.openjpa.kernel.QueryImpl.compileForDataStore(QueryImpl.java:692)
    at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:674)
    at org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1492)
    at org.apache.openjpa.kernel.DelegatingQuery.getOperation(DelegatingQuery.java:123)
    at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:243)
    at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:293)
    at c

1 Ответ

4 голосов
/ 25 октября 2010

Добавьте <class>com.XYZ.cloud.bss.client.db.data.Serviceoffering</class> в ваш файл persistence.xml и убедитесь, что класс Serviceoffering загружен JVM до выполнения вашего запроса.

Теперь я собираюсь настоятельно рекомендовать , чтобы вы не установили <property name="openjpa.RuntimeUnenhancedClasses" value="supported"/>. Да, есть некоторая поддержка, но это доставит вам много головной боли. Взгляните на сообщение в блоге Я давно писал о том, как улучшить процесс ... который должен вас ускорить.

...