Pregunta

Actualmente estoy trabajando en un sistema de migración (de 3.2.2.GA hibernación con JPA1 hibernar 3,6 con JPA2. La migración en sí es muy simple, no hay grandes cambios que hacer (de hecho, no lo creo creo que haya ninguna en absoluto).

El problema que estoy enfrentando es que hibernación se produce una excepción en tiempo de ejecución, se quejaba de las anotaciones @Any. El StackTrace es la siguiente:

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)

Por lo que significa que @Any o @ManyToAny ya no son apoyados por hibernación. Esto es raro porque la documentación (del 3,3 al 3.6) menciona cómo utilizar la anotación @Any y que yo sepa no hay ninguna versión de hibernación que se deprecia esta anotación.

he comprobado hibernación 3,5 código fuente y la comprobación de anotación @Any es también, por lo que también lanza la misma excepción.

¿Ustedes tienen ninguna solución para este problema?

muchas gracias!

¿Fue útil?

Solución

¿Quieres que intenta añadir esto a sus propiedades de hibernación:

hibernate.ejb.metamodel.generation=disabled

Esto debería desactivar la generación metamodelo, evitando la excepción que está viendo. (Editado valor de la propiedad para decir 'discapacitados' como punta a cabo en comentarios)

Otros consejos

O, si usted no está utilizando hibernate.properties, añadir a su <property name="hibernate.ejb.metamodel.generation" value="disabled" /> persistence.xml

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top