Mise en veille prolongée 3.5 ou 3.6 sans l'appui à l'annotation @Any?
-
28-09-2019 - |
Question
Je travaille actuellement sur une migration de système (de mise en veille prolongée 3.2.2.GA avec JPA1 mise en veille prolongée à 3.6 avec JPA2. La migration elle-même est très simple, il n'y a aucun mises à jour importantes à faire (en fait, je ne pense qu'il est pas du tout).
Le problème que je suis confronté est que veille prolongée déclenche une exception lors de l'exécution, se plaignant des annotations @Any. Le stacktrace est le suivant:
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)
Donc cela signifie que @Any ou @ManyToAny ne sont plus pris en charge par mise en veille prolongée. Ceci est bizarre parce que la documentation (3,3 à 3,6) mentionne comment utiliser l'annotation @Any et AFAIK il n'y a pas de mise en veille prolongée la version qui se déprécie cette annotation.
J'ai vérifié en veille prolongée 3.5 code source et la vérification d'annotation @Any est là aussi, il jette aussi la même exception.
Avez-vous les gars avez une solution à ce problème?
Merci beaucoup!
La solution
voulez-vous s'il vous plaît essayer d'ajouter à vos propriétés Hibernate:
hibernate.ejb.metamodel.generation=disabled
Cela devrait désactiver la génération de métamodèle, en évitant l'exception que vous voyez. (Edited valeur de la propriété pour dire « handicapé » comme hors pointe dans les commentaires)
Autres conseils
Ou, si vous ne l'utilisez hibernate.properties, ajoutez à votre <property name="hibernate.ejb.metamodel.generation" value="disabled" />
persistence.xml