永続性は、プログラム データを永続状態と一時状態の間で変換するメカニズムです。 JDBC は永続化メカニズムです。ファイル IO も永続化メカニズムです。この記事では、Java における Hibernate の基本原理を紹介します。必要な方は参考にしてください。Hibernate を学び始める前に、「Hibernate は難しいものではない、JDBC をさらにカプセル化したものにすぎない」と言う人がいます。 。それは本当に難しくないのでしょうか、それとも単に野心が多すぎて能力が不足しているだけなのでしょうか?
使うレベルに留まれば、どんな技術も難しいものではないと思います。他の人がやっていることを見て、すぐに始められると思います。
これは学習の最終目標ですか?
いいえ、絶対に違います。このテクノロジーの基本概念、それが何であるか、何をするのか、そしてその長所と短所は何かを理解する必要があります。 Hibernate について一緒に確認してみましょう:
Hibernate とは何ですか? Hibernate、冬眠と訳されますが、秋を迎えたばかりで、世界中のすべてが冬眠の準備を始めています。実際、オブジェクトの場合、それは永続化です。
永続性(永続性)、つまり、永続的に保存できるストレージデバイス(ディスクなど)にデータ(メモリ内のオブジェクトなど)を保存すること。永続性の主な用途は、オブジェクトをリレーショナル データベースのメモリに保存することです。もちろん、オブジェクトをディスク ファイルや XML データ ファイルなどに保存することもできます。
永続性は、プログラム データを永続状態と一時状態の間で変換するためのメカニズムです。
JDBC は永続化メカニズムです。ファイル IO も永続化メカニズムです。
毎日の継続方法: 1. 新鮮な肉を冷蔵し、食べるときに解凍するのと同じ方法です。
2. 果物の缶詰も同じ方法で作られます。
3 つの観点から Hibernate を理解しましょう:
Hibernate が永続層の開発に使用されない場合、次のような多くの冗長性があることがわかります。 JDBC ステートメントと接続管理、つまり Hibernate でカプセル化された JDBC データを操作する必要はなく、データを直接操作するだけで済みます。
私たちは、プレゼンテーション層、ビジネス層、永続化層という非常に典型的な 3 層アーキテクチャを知っています。 Hiberante も永続層フレームワークであり、IBatis、Nhibernate、JDO、OJB、EJB など、多くの永続層フレームワークがあります。
ORM、つまりオブジェクト リレーショナル マッピング。その機能は、リレーショナル データベースとオブジェクト間のマッピングを作成することです。オブジェクトからリレーションシップへのマッピング、次にリレーションシップからオブジェクトへのマッピング。このようにして、データベースを操作するときに、複雑な SQL を扱う必要はなくなり、データベースをオブジェクトのように操作するだけ (リレーショナル データベースのフィールドをメモリ内のオブジェクトのプロパティにマッピングする) だけで済みます。
Hibernate のコア:
上の図から、Hibernate の 6 つのコア インターフェイス、2 つの主要な設定ファイル、およびそれらの直接の関係がわかります。 Hibernate に関するすべてがここにあります。次に、上から下まで簡単に見て、各インターフェイスを一文にまとめてみましょう。
1. 構成インターフェース: Hibernate の構成と開始を担当します
2. SessionFactory インターフェース: Hibernate の初期化を担当します
3. トランザクション・インターフェース: トランザクションを担当します
5. クエリ インターフェイスと基準インターフェイス: さまざまなデータベース クエリの実行を担当します
注: Configuration インスタンスは起動中のオブジェクトであり、SessionFactory が作成されると破棄されます。
Hibernateのメリット/デメリット:
メリット:
1. よりオブジェクト指向化 オブジェクト指向の考え方でデータベースを運用するため、オブジェクトを操作するだけで済み、開発はより多くの作業が必要になります。オブジェクト指向。
2. 移植性
Hibernate は永続層をカプセル化しているため、データベースを意識する必要がなく、作成したすべてのコードは再利用可能です。
3. Hibernate は非侵襲的なフレームワークを軽量フレームワークと呼びます。
Struts の Action と ActionForm を比較すると、どちらも継承が必要であり、Struts なしでは実行できません。 Hibernate はクラスを継承したり、インターフェイスを実装したりする必要はありません。このようなオブジェクトは POJO オブジェクトと呼ばれます。
4. Hibernate コードのテストは便利です。5. 効率と生産性を向上させます。
欠点:
1. データベース機能を使用するステートメントは調整が困難です
2. 大量のデータ更新に問題があります
3. システム内に多数の攻撃クエリ関数があります
概要 :
Hibernate を使用すると、オブジェクト指向の考え方を使用してリレーショナル データベースを操作できるようになります。
概要
以上がJava における Hibernate の基本原理の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。