Frage

Ich arbeite derzeit an einer System-Migration (von Hibernate 3.2.2.GA mit JPA1 3.6 mit JPA2 zu überwintern. Die Migration selbst sehr einfach ist, gibt es kein großes Updates (in der Tat zu tun, das tue ich nicht denke, es gibt überhaupt ist).

Das Problem, das ich mit Blick auf bin ist, dass Hibernate eine Ausnahme zur Laufzeit führt, über die @Any Anmerkungen zu beklagen. Der Stacktrace ist die folgende:

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)

So bedeutet es, dass @Any oder @ManyToAny nicht mehr von Hibernate unterstützt. Das ist seltsam, weil die Dokumentation (3,3-3,6) erwähnt, wie die @Any Annotation verwenden und AFAIK gibt es keine Hibernate Version, die diese Anmerkung entwertet.

ich überprüfte 3.5 Quellcode überwintern und die @Any Anmerkung Prüfung ist es auch, so dass es wirft auch die gleiche Ausnahme.

Haben Sie Jungs jede Abhilfe für dieses Problem?

Vielen Dank!

War es hilfreich?

Lösung

bitten Sie daher versuchen, diese zu Ihrer Hibernate Eigenschaft hinzuzufügen:

hibernate.ejb.metamodel.generation=disabled

Dies sollte die Metamodell Generation deaktivieren, die Vermeidung der Ausnahme Sie sehen. (Edited Eigenschaft Wert zu sagen, ‚behindert‘ wie erwähnt in den Kommentaren)

Andere Tipps

Oder, wenn Sie nicht hibernate.properties verwenden, fügen Sie <property name="hibernate.ejb.metamodel.generation" value="disabled" /> zu Ihrem persistence.xml

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top