私はしばらくの間Hibernateを使用しており、一般的なエラーメッセージのほとんどに慣れています。ほとんどの人が私に問題を直接指摘しますが、私はこれに問題を抱えています:
org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session
エラーは理解していますが(セッションには同じIDを持つ2つの異なるオブジェクトがあります)、コードをデバッグして問題の原因を見つける良い方法がわかりません。通常、私は現在変更しているコードを見て、ロジックに単純なエラーが見つかることを期待して、あるオブジェクトをロードして別のオブジェクトを手動で作成する場所を探します。しかし、私は現在、自分が書いたものではなく、なじみがなく、ドキュメントがないコードセットを使用しています。私が考えることができる唯一の解決策は、エラーを見つけることを期待して、コードを1行ずつ調べることです。このエラーをデバッグするためのより良い方法を知っていますか?
さらに、私が得ている正確なエラーは、への呼び出しからのものであり、それがいつ呼び出すべきかをsaveOrUpdate()
呼び出しているのかどうか疑問に思います。デバッグの目的で、Hibernateが現在のセッションにあるオブジェクトを確認する方法はありますか?save()
update()