2010-10-25 35 views
4

J'utilise JPA (OpenJPA). Je les entrées suivantes dans mon persistence.xml:Aucune métadonnée trouvée pour le type utilisant OpenJPA avec RuntimeUnenhancedClasses

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

J'ai aussi Serviceoffering classe listé dans persistence.xml. Je reçois l'exception suivante lorsque j'essaie d'exécuter mon code JPA. Quel peut être le problème?

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 

Répondre

3

Ajouter <class>com.XYZ.cloud.bss.client.db.data.Serviceoffering</class> à votre fichier persistence.xml et assurez-vous que la Serviceoffering de classe est chargée par la machine virtuelle Java avant d'exécuter votre requête.

Maintenant, je vais à recommandons fortement que vous ne définissez pas <property name="openjpa.RuntimeUnenhancedClasses" value="supported"/>. Oui un peu de soutien est là, mais ça va vous donner beaucoup de maux de tête. Jetez un coup d'oeil à travers un blog post J'ai écrit il y a longtemps parler du processus d'amélioration .... qui devrait vous faire rouler.