2 votes

Hibernate / Jpa Exception impossible de réassocier une collection transitoire non initialisée

Je cherchais des heures une solution à ce problème et je n'ai absolument rien trouvé, donc maintenant que j'ai la solution, je la posterai ici, pour que d'autres n'aient pas à passer par la même douleur.

La trace de la pile suivante a été causée lorsque j'ai ajouté un mappage @OneToOne à une nouvelle entité. Quelle en était la cause?

2020-03-17 22:10:26.091 ERREUR 46765 --- [ Tâche XNIO-12 9] o.h.i.ExceptionMapperStandardImpl : HHH000346: Erreur pendant le flush géré [org.hibernate.HibernateException: could not reassociate uninitialized transient collection]
2020-03-17 22:10:26.092 ERREUR 46765 --- [ Tâche XNIO-12 9] my.app.aop.logging.LoggingAspect : Exception dans ch.hockai.web.rest.MyEntityResource.updateMyEntity() avec la cause = 'org.hibernate.HibernateException: could not reassociate uninitialized transient collection' et l'exception = 'could not reassociate uninitialized transient collection; nested exception is org.hibernate.HibernateException: could not reassociate uninitialized transient collection'

org.springframework.orm.jpa.JpaSystemException: could not reassociate uninitialized transient collection; nested exception is org.hibernate.HibernateException: could not reassociate uninitialized transient collection
    at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:351)
    at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:253)
    at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:536)

Caused by: org.hibernate.HibernateException: could not reassociate uninitialized transient collection
    at org.hibernate.event.internal.ProxyVisitor.reattachCollection(ProxyVisitor.java:75)
    at org.hibernate.event.internal.WrapVisitor.processCollection(WrapVisitor.java:70)
    at org.hibernate.event.internal.AbstractVisitor.processValue(AbstractVisitor.java:104)

0voto

Jamie Townsend Points 46

J'ai la situation où l'entité A avait une relation @ManyToOne avec l'entité B. L'entité B a ensuite réciproqué la relation en tant que @OneToMany.

Le problème a commencé lorsque j'ai ajouté l'entité C avec une relation @OneToOne avec l'entité A. En fin de compte, j'ai supprimé la relation @ManyToOne de l'entité A (vers l'entité B).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X