私は、オブジェクトが切り離されているかどうかを内部的に判断する方法を探しています。冬眠のコードを見ようとしましたが、それを理解することはできません。しかし、私たちはプログラム内でオブジェクトが切り離されているかどうかを判断する方法について話しています。しかし、私が理解しようとしているのは、休止状態が切り離されたオブジェクトを内部的にどのように識別しているかです。この身分証明書を行う場面は?オブジェクトがデタッチ状態にあるかどうかを内部的に判断する方法
1
A
答えて
2
もちろん、エンティティが管理されている(つまり、現在のセッションにアタッチされている場合、そのセッションは切り離されません)。重要な部分は、一時的なもの(管理されていないエンティティインスタンス、まだデータベースに存在しないエンティティインスタンス)と分離されたエンティティ(つまり、管理されていないが、すでに存在すると考えられるエンティティデータベース)。
エンティティが切り離されているか一時的であるかを判断するアルゴリズムの主要部分はAbstractEntityPersister.isTransient()
です。
基本的に、ヌル識別子またはヌルのオプティミスティックロックバージョン属性(つまり、@Version
でアノテーションされた属性)がある場合、それは一時的なものとみなされます。
他にも微妙な点がありますが、自動生成された識別子を使用し、識別子がnullでない場合、Hibernateはそれを分離エンティティと見なします。割り当てられた識別子を使用する場合は、データベースをチェックする必要があります(バージョン属性もない場合)。これは、自動生成された識別子を使用する別の理由です。
関連する問題
- 1. パッケージにOracleの状態があるかどうかを判断する方法はありますか?
- 2. ネイティブJavaScriptオブジェクトにプロパティ/メソッドがあるかどうかを判断する方法
- 3. C++オブジェクトがtime_tであるかどうかを判断する方法
- 4. Javascriptオブジェクトがイベントであるかどうかを判断する方法は?
- 5. Lua:オブジェクトが "クラス"か "インスタンス"かどうかを動的に判断
- 6. オブジェクトが空の状態にあるかどうかをチェックする方法は?
- 7. Windowsフォームのテキストボックスにフォーカスがあるかどうかを判断する方法
- 8. コントロールがフォームCの外にあるかどうかを判断する方法#
- 9. あなたがBuddypressアクティビティストリームにいるかどうかを判断する方法
- 10. ポイントがQuad2DCurveにあるかどうかを判断する方法
- 11. 、「他にあれば」それは状態を判断する
- 12. デバイスにタッチスクリーンがあるかどうかを判断する
- 13. ウィンドウの座標系内のポイントがSwiftのビュー内にあるかどうかを判断する方法
- 14. 休止状態のセッションが@Transactionalの外部で利用可能かどうかを判断する
- 15. Viewが部分的に表示されているかどうかを判断する方法
- 16. Vuex状態オブジェクトが空であるかどうかを確認する方法
- 17. location.hashが戻るボタンかどうかを判断する方法
- 18. varがjavascriptのelementFinderオブジェクトであるかどうかを判断する方法はありますか?
- 19. オブジェクトが移動を停止したかどうかを判断する方法
- 20. Androidはどのようにインターネット接続状態を判断しますか?
- 21. Oracle:列が "ブール値"かどうかを判断する方法
- 22. パスワードが必要かどうかを判断する方法
- 23. タイプがコレクションのタイプであるかどうかを判断する方法は?
- 24. 子が無しであるかどうかを判断する方法
- 25. XMLが整形式であるかどうかを判断する方法
- 26. Django - モデルクラスが抽象であるかどうかを判断する方法
- 27. ZonedDateTimeが「今日」であるかどうかを判断する方法は?
- 28. llvm:Typeがi8 *タイプであるかどうかを判断する方法?
- 29. 列が符号なしであるかどうかを判断する方法?
- 30. ServletRequestがPreflightRequestであるかどうかを判断する方法?
この回答は私の疑問を解決しました。私がこれについて考え始めた唯一の理由は、自動生成された識別子と割り当てられた識別子のbeahviourに直面したときです。再度疑問を解決してくれてありがとう。 – Zulfi