私は、ツリーをデータベースに更新するプロセスを持っています。そうすることで、重複したエンティティをチェックするための読み込みが実行されます。Hibernateがfind-not-nullエラーでflushを呼び出す
私は、このプロセスを介して)(criteria.uniqueResultをやろうとしている途中では、次のエラーが発生することを発見しています:
スタックトレースを掘りorg.hibernate.PropertyValueException: not-null property references a null or transient value
、私はuniqueResult()が紅潮していることを見ますセッションを開始し、まだデータベースに移動する準備ができていない更新を実行しようとしています。
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)
ここに何か間違いがありますか?
大変助かりました。
Marty
不完全なオブジェクトをhibernateに渡すのはnull制約違反の良い候補ですが、そのようなエラーを引き起こす可能性のあるコードパスがたくさんあり、既にセッション内にあるアイテムの変更と関係があります。エラーが発生しています。 – Jherico