hibernateは、オブジェクトの状態(一時的、永続的、分離状態)を返すメソッドを提供しますか?オブジェクト状態の取得
5
A
答えて
3
はJavadoc Hibernate Sessionを確認し、含まれている方法に
- をチェック - このインスタンスがこのセッションに関連付けられているか確認してください。
- getIdentifier - このセッションに関連付けられている、指定されたエンティティの識別子の値を返します。エンティティが関連付けられていない場合にスローされる例外に注意してください。各例外は致命的であるとみなされ、その後には使用しないでください。
- get - 与えられた識別子を持つ指定されたエンティティクラスの永続インスタンスを返します。そのような永続インスタンスが存在しない場合
そのちょうど「するsaveOrUpdateは」持続または更新(再アタッチ)することの後に私は、「取得」し、さらに変更後の値をチェックし、実際のオブジェクトを使用することになり
3
Session.containsオブジェクトかどうかを伝えますセッションに関連付けられています。識別子がない場合は、識別子がありセッションに関連付けられていれば一時的です。セッションに関連付けられていない識別子ですが、分離されています。
それでも問題が解決しない場合は、最初にオブジェクトの状態を知る必要がある理由、つまりより多くの文脈で質問を言い換えることを検討してください。
0
私は、休止状態のオブジェクト状態を明らかにするためにsession.contains(obj)
の使用に同意しません。 session.clear()
の単純な呼び出しの後に、永続化/ロードされたオブジェクトはTRANSIENTとみなされます。主キーはありませんが、コンポジットのキーがない場合は、どの状態にあるのかわかりません。
正しい方法が見つかりますHibernate 3の内部: org.hibernate.engine.ForeignKeys.isTransient(...)
関連する問題
- 1. 休止状態を取得
- 2. 状態の取得選択した国の状態のリスト
- 3. Angularjs - オブジェクトの以前の状態を取得する
- 4. フォームバッキング状態オブジェクト
- 5. React:状態オブジェクトからインデックスで値を取得する
- 6. Pubnub:プレゼンスイベントで状態オブジェクトを取得できません
- 7. ポストバック間でのラジオボックス状態の取得
- 8. スピナーチェックボックスボックスの状態が偽の取得と
- 9. 休止状態のoracleデータの取得
- 10. listctrlのチェックボックスの状態を取得
- 11. vueコンポーネントの状態、ゲッタ、アクションの取得
- 12. XCUITestのボタン状態の取得
- 13. iPhone/iPadワイヤレスキーボードの状態を取得
- 14. WPF Treeview - チェックボックスの状態を取得
- 15. VLCリモートコントロールインターフェイスプレーヤーの状態を取得する
- 16. React:親コンポーネントの状態データを取得
- 17. LINQ最新の状態を取得
- 18. イオンアプリで現在の状態を取得
- 19. アンドロイドビーコンライブラリの領域取得状態
- 20. Cでスレッドの状態を取得++ /窓
- 21. 子コンポーネントの状態を取得する
- 22. Dapperオブジェクト状態トラッキング
- 23. onFlushDirty()の前の状態オブジェクト
- 24. Hibernateのオブジェクトの状態
- 25. IPv6設定状態を取得する
- 26. Androidでキャップロック状態を取得する
- 27. window.scrollで還元状態を取得
- 28. セッション状態を取得する方法
- 29. JavaFXでCapsLock状態を取得する
- 30. イオンアプリでネットワーク状態を取得する
imhoこれは興味深い問題であるため – dfa