Hibernate(ハイバネート)。JavaプログラミングのためのO/Rマッピング(オブジェクト関係マッピング)ライブラリです。

Hibernateとは

Hibernate(ハイバネート)。JavaプログラミングのためのO/Rマッピング(オブジェクト関係マッピング)ライブラリです。

基本情報

概要

Hibernate(ハイバネート)とは、JavaプログラミングのためのO/Rマッピング(オブジェクト関係マッピング)ライブラリです。

【O/Rマッピング(Object/Relational Mapping)とは】
「オブジェクト指向のドメインモデル」と「リレーショナルデータベース」をマッピングするためのフレームワークを提供する機能のことです。
このような機能が必要となる原因として、「オブジェクト指向言語」と「リレーショナルデータベース」の思想の違いがあります。「オブジェクト指向」では、現実世界にあるモノに即した形でデータモデルを設計します。一方、 「リレーショナルデータベース」では、正規化を基本として、登録処理や検索処理などを最適化することを目的としてデータモデルが設計されます。
このような基本的な思想の違いから、オブジェクト指向言語であるJavaから、リレーショナルデータベースにアクセスして処理するためのコードを書く場合、「大量の煩雑なコードを記述しないと処理を実現できない」、「同じことを何度も何度も書かなければならない」という問題が発生しがちになります。
「インピーダンス・ミスマッチ」と呼ばれる、このような問題を少しでも解消するために、O/Rマッピングライブラリ(O/Rマッパー)が開発されました。

【O/RマッパーであるHibernateを使用することのメリット】
XML形式のマッピングファイルに、オブジェクトの各項目と、対応するレコード項目の定義を記述すると、オブジェクトの呼び出しや保存を行うための雛型となるコードを自動生成してくれます。
Hibernateのマッピングファイルによって、オブジェクトとリレーショナルデータベース上のテーブルおよびレコードを関連付けて一元管理することができます。煩雑な同じようなコードを大量に書く作業から開放され、全体のコード記述量が削減されて、コードもシンプルになり、生産性が上がります。
また、「オブジェクト指向」と「リレーショナルデータベース」の2つの間に、Hibernateマッピングファイルという抽象モデルが存在することによって、データベース側のスキーマ変更を吸収することができるため、プログラムソース側への影響を最小限にすることができます。

TOPに戻る

主な特徴

【Javaベース】
Hibernateは、Javaオブジェクトをベースにした言語でシンプル設計になっています。Javaエンジニアなら、それほどの習得時間をかけずに、使いはじめることができるため、導入コストを節減できます。

【HQL】
Hibernateは、SQLライクな「HQL(Hibernate Query Language)」というクエリ言語を提供しています。オブジェクトをベースとしたクエリを構築できます。

【JavaEEアプリケーションに対応】
スタンドアローンのJavaアプリケーションへの対応のほか、JavaServletやEJBセッションビーンを使用しているJavaEEアプリケーションにも対応しています。

【各種データベースに対応】
特定のデータベースには依存せず、さまざまなデータベースに対応しています。

TOPに戻る

同様製品(概要情報)

O/Rマッパー製品は、「MyBatis」など、Java用、PHP用、Ruby用、Android用など、各言語ごとに多数存在しています。

TOPに戻る

導入事例

Hibernateは、効率的なJavaシステム開発をサポートするO/Rマッパーとして、さまざまな領域で幅広く利用されています。

TOPに戻る

ライセンス情報

LICENCEHibernateのライセンスは、「GNU Lesser General Public License」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

TOPに戻る

ダウンロード

ダウンロードページ

TOPに戻る

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

Hibernate最新TOPICS

最新情報はありません。

Hibernate最新CLOSEUPコラム

  • オープソース書籍(サイド)

OSS×Cloud ACCESS RANKING

  • OSSNEWSに広告を掲載しませんか?

facebook

twitter