Java Hibernateオブジェクト
私は最近Java Hibernateを学んだので、ここでJava Hibernateオブジェクトのいくつかの状態に関する情報をまとめました。興味のある友達は見ることができます。
一時的:データベース内のデータはそれに対応していません。スコープを超えると、JVMガベージコレクターによって収集されます。通常、それは新品から出て、セッションとは関係がないオブジェクトです。
永続的:データベースにはそれに対応するデータがあり、現在セッションに関連付けられており、関連するセッションは閉じられておらず、トランザクションはコミットされていません。
永続的なオブジェクトの状態は変更されます。これは、トランザクションがコミットされたときにデータベースに影響します(冬眠が検出できます)。
(オブジェクトが保存されると、データが持続されます。この時点で、OBJ.set()後、トランザクションは冬眠に提出されます。
オブジェクトを保存する前にobj.set()を使用する場合(トランザクションにある場合でも)、つまりオブジェクトを持続する前に、hibernateはデータの変更を検出できず、データベースに影響しません)
分離:データベースにはそれに対応するデータがありますが、現在、それに関連するセッションはありません。分離したオブジェクトのステータスは変更され、冬眠は検出できません。
冬眠オブジェクトの3つの状態、変換図:
commit()はセッションを閉じます
インタビュー:オブジェクトがどのような状態にあるかを決定した場合はどうなりますか?
主な根拠は次のとおりです。1。オブジェクトがセッション中にあるかどうかを確認し、データベースに対応するレコードがあるかどうかを確認します。
要約:
過渡状態:セッション管理はなく、データベースには対応するレコードがありません
永続性:データベースにセッション管理とレコードがあります
De-Tube/Free State:セッション管理はありませんが、データベースに記録されています。
読んでくれてありがとう、私はそれがあなたを助けることができることを願っています。このサイトへのご支援ありがとうございます!