マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Hibernate

【OSS情報アーカイブ】Hibernate

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Hibernate」とは

基本情報

概要

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

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

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

主な特徴

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

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

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

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

同様製品(概要情報)

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

導入事例

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

ライセンス情報

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

ダウンロード

ダウンロードページ

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

この記事のタグ一覧

おすすめの記事

AIツール関連 記事リストポータル

AIツール

2023.10.05

AIツール関連 記事リストポータル

AI 関連の記事をまとめたポータルページです。

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

AIツール実験室

2023.12.27

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

各チャットAIの「添削能力」について比較確認をしています。 「ChatGPT4と同等の添削能力を発揮した無料チャットAI」にご注目ください。 また、 ChatGPTカスタマイズ機能「GPTs」を利用して作成した GPTs文章添削機能「添削師匠さん✍️」を紹介しています。 課金勢は試しに使ってみてください。