Hibernate
概要
Hibernateとは、Javaプログラム中のオブジェクトとリレーショナルデータベース(RDB)の相互変換を行うO/Rマッパーの一つ。LGPLに基づいてオープンソースソフトウェアとして配布されている。オブジェクトを構成するデータとRDB上のテーブルの項目を関連付けて透過的に相互変換するO/Rマッピング機能を提供する。オブジェクトのテーブルへの格納や読み出し、データ型の自動変換などを行ってくれる。
従来は開発者がデータベース管理システム(DBMS)へのSQL文を発行するコードなどを毎回個別に記述しなければならなかったが、Hibernateの機能をAPIを通じて呼び出すだけでデータベース操作に関連する処理を自動的に行なってくれる。
オブジェクトとテーブルの項目間の関連付けは複数の方法に対応しており、XML文書による記述や、ソースコード中に挿入するアノテーション(注釈)による記述、APIを利用してコード中から指定する手法などが利用できる。
また、SQLに似た問い合わせ言語であるHQL(Hibernate Query Language)による柔軟で強力なデータ検索や、キャッシュ機能による高速化、オブジェクト内で更新されたデータのみをデータベースへ反映するダーティチェック機能なども利用できる。
(2019.2.16更新)