org.hibernate.AssertionFailure entry
AssertionFailure: null id in xxx entry (don't flush the Session
after an exception occurs
org.hibernate.AssertionFailure entry null id in entry(don't flush the Session after an exception occurs)異常
このエラーはidが空になったように見えます.
解決:データの空でないフィールドに値を設定していません.
もう一つの理由があります
それは、メソッドがトランザクションを追加していないことです.
私はサービスに対してトランザクションブロックを行っただけで、daoに対してトランザクションaopを行わなかった.
Actionでdaoを直接呼び出すと、データベースに正常にデータが挿入されていますが、上記のエラーが表示されます.
これは、データベースを挿入する際に、データベースに自己IDを追加するプライマリ・キー・ポリシーがあり、hibernateがflushの場合、modelのidが空であることが判明したためです.
なぜ空なのかというと、トランザクションがなく、hibernateプライマリ・キー・ポリシーが実行されていません.
しかし、なぜデータベースを正常に挿入できるのか、研究中です..