4

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
4

1 に答える 1

4

クエリを実行する前に、persistence.xmlファイルに追加<class>com.XYZ.cloud.bss.client.db.data.Serviceoffering</class>し、ServiceofferingクラスがJVMによってロードされていることを確認してください。

設定しないことを強くお勧め<property name="openjpa.RuntimeUnenhancedClasses" value="supported"/>します。はい、ある程度のサポートはありますが、それはあなたに多くの頭痛の種を与えるでしょう。私が長い間書いたブログ投稿を覗いてみてください。拡張プロセスについて話していました。

于 2010-10-25T18:44:47.187 に答える