検索
ホームページJava&#&チュートリアルJavaのHibernateのステータスは何ですか

JavaのHibernateのステータスは何ですか

May 03, 2023 pm 08:19 PM
javahibernate

1. Transient state

new でメモリ空間を開放することで作成されるエンティティオブジェクトですが、Hibernate セッションの管理には含まれません。変数が参照していない場合は、 JVM (ガベージ コレクター) によってリサイクルされます。過渡状態の オブジェクトはメモリ内に隔離されており、データベース とは何の関係も持た​​ず、単なる情報の伝達手段にすぎません。

一時状態オブジェクトは永続状態オブジェクトによって参照され、自動的に永続状態オブジェクトになります。たとえば、セッションの save、save、または update などのメソッドを呼び出すときです。

特徴:

(1) new を使用して作成されたオブジェクトには id 属性が設定されていません

(2) セッションによってホストされていません。オブジェクト データはメモリに保存され、セッション キャッシュには保存されません

(3) 一時オブジェクト データとデータベース内のデータの間に相関関係はありません

2. 永続状態

永続状態オブジェクトはデータベース内のデータに関連付けられ、常にセッション状態 (Session) およびトランザクション (Transaction) に関連付けられます。永続状態オブジェクトが変更されても、データベース操作はすぐには実行されません。トランザクションが終了したときにのみデータベースが更新され、Hibernate の永続オブジェクトとデータベース操作の同期が確保されます。

永続状態オブジェクトが管理状態オブジェクトになると、Hibernate 永続層の管理スコープ内にはなくなります。

特徴:

(1) get メソッドまたはload メソッドを使用してデータベースからクエリされたデータ オブジェクトであるか、save メソッドまたは update メソッドを使用してデータが永続化レイヤー オブジェクトに変換されます。

(2) オブジェクトデータはセッション単位で管理されます。言い換えれば、セッション キャッシュにはオブジェクト データのコピーが存在し、データベースには対応するレコードが存在します。

3. 制御不能状態

永続オブジェクト セッションが閉じられた後 、オブジェクトは永続状態から管理状態に変わります。管理状態オブジェクトは依然としてデータベース内のデータに関連付けられていますが、Hibernate のセッションの範囲内にはありません。

切り離されたオブジェクトを新しいセッションに再度関連付けると、永続オブジェクトに戻ります。

機能:

(1) これは主に、永続状態オブジェクトを通じて session.evict()、session.clear()、または session.close() を呼び出すことによって取得されます。 ID 値を持つ新しいオブジェクトによって設定されます

(2) セッション キャッシュにはオブジェクトはありませんが、メモリにはオブジェクトがあります (注: オブジェクトには ID 値が設定されています)

4. 削除状態

セッションの削除メソッドが呼び出されると、オブジェクトは削除済み状態に変わります。削除された状態は、リサイクルされるまで

待つことしかできません。

以上がJavaのHibernateのステータスは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール