Ich habe einen Prozess, der eine Struktur in der Datenbank aktualisiert und führt dabei Lesevorgänge für doppelte Entitäten durch.Hibernate ruft Flush auf Find- Ursachen Not-Null Fehler
Ich finde, dass eine criteria.uniqueResult zu tun versuchen() in der Mitte durch diesen Prozess verursacht den folgenden Fehler:
org.hibernate.PropertyValueException: not-null property references a null or transient value
Graben durch den Stack-Trace, ich sehe, dass die uniqueResult() wird die Spülung Sitzung versucht, Aktualisierungen durchzuführen, die noch nicht bereit sind, in die Datenbank zu gehen.
at org.hibernate.engine.Cascade.cascade(Cascade.java:153)
at org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:154)
at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:145)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:88)
at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:58)
at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:996)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1589)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
at org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:328)
at com.inversion.dal.BaseDAO.findUniqueByCriterion(BaseDAO.java:59)
Habe ich hier etwas falsch gemacht?
Jede Hilfe sehr geschätzt.
Marty
Während das Übergeben eines unvollständigen Objekts in den Ruhezustand ein guter Kandidat für die Null-Constraint-Verletzung ist, gibt es viele Codepfade, die einen solchen Fehler auslösen könnten und Änderungen an bereits in der Sitzung vorhandenen Elementen betreffen Der Fehler tritt auf. – Jherico