質問

私は現在、システムの移行に取り組んでいます(JPA1を搭載したHibernate 3.2.2.GAからJPA2のHibernate 3.6へ。移行自体は非常に簡単です。まったく)。

私が直面している問題は、Hibernateが実行時に例外をスローし、@any Annotationsについて不平を言うことです。 Stacktraceは次のとおりです。

Caused by: java.lang.UnsupportedOperationException: any not supported yet
    at org.hibernate.ejb.metamodel.AttributeFactory.determineAttributeMetadata(AttributeFactory.java:452)
    at org.hibernate.ejb.metamodel.AttributeFactory.buildAttribute(AttributeFactory.java:93)
    at org.hibernate.ejb.metamodel.MetadataContext.wrapUp(MetadataContext.java:183)
    at org.hibernate.ejb.metamodel.MetamodelImpl.buildMetamodel(MetamodelImpl.java:66)
    at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:84)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:902)
    at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:74)
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:225)

したがって、@anyまたは@manytoanyは、もはやHibernateにサポートされていないことを意味します。ドキュメント(3.3から3.6まで)が@anyアノテーションを使用する方法とAFAIKの使用方法について言及しているため、これは奇妙です。

Hibernate 3.5ソースコードを確認しましたが、@any Annotationチェックもそこにあるため、同じ例外もスローします。

この問題の回避策はありますか?

どうもありがとう!

役に立ちましたか?

解決

これを冬眠施設に追加してみませんか:

hibernate.ejb.metamodel.generation=disabled

これにより、メタモデルの生成が無効になり、表示されている例外が回避されます。 (コメントで指摘されているように、「無効」と言うために編集されたプロパティ値)

他のヒント

または、hibernate.propertiesを使用していない場合は、追加してください <property name="hibernate.ejb.metamodel.generation" value="disabled" /> あなたのpersistence.xmlに

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top