hibernateとは? わかりやすく解説

hibernate

別表記:ハイバーネイト

「hibernate」とは・「hibernate」の意味

「hibernate」は英語の単語で、動物冬眠することを指す。また、コンピュータ用語として使われシステムの状態を保存して電源を切ることを指す。動物冬眠するという意味では、寒さ食糧不足など厳しい環境避けるために、体温下げてエネルギー消費抑える行動を指す。一方コンピュータ用語としての「hibernate」は、電源を切る前に現在の作業状態をハードディスク保存し再起動時にその状態を復元する機能を指す。

「hibernate」の発音・読み方

「hibernate」の発音IPA表記で /ˈhaɪ.bəˌneɪt/ となる。カタカナ表記では「ハイバネイト」と読む。日本人発音する際のカタカナ英語では「ハイバーネイト」となる。

「hibernate」の定義を英語で解説

「hibernate」is a term used to describe the act of an animal going into a state of inactivity or dormancy during the winter season, often to conserve energy during times of cold or scarcity of food. In the context of computing, 'hibernate' refers to a function that allows the system to save its current state to the hard disk before powering off, enabling the restoration of the same state upon rebooting.

「hibernate」の類語

「hibernate」の類語としては、動物冬眠するという意味では「dormancy」や「torpor」がある。一方コンピュータ用語としては「suspend」や「sleep mode」が近い意味を持つ。

「hibernate」に関連する用語・表現

「hibernate」に関連する用語としては、「Hibernate」はJavaオープンソースオブジェクト関係マッピングORMライブラリ一つである。また、hibernation」は「hibernate」の名詞形で、冬眠システム休止状態を指す。

「hibernate」の例文

以下に、「hibernate」を用いた例文10個示す。 1. Bears hibernate during the winter.(熊は冬に冬眠する
2. My computer is set to hibernate after 30 minutes of inactivity.(私のコンピューターは、30分間操作がないと休止状態になる設定になっている
3. Some animals hibernate to conserve energy.(一部動物エネルギー節約するために冬眠する
4. Hibernate mode is a power-saving state for computers.(休止状態コンピューター省電力状態である)
5. Many animals hibernate in the winter to survive.(多く動物は冬に生き延びるために冬眠する
6. Hibernate is a feature that saves your work and turns off the computer.(休止状態は、作業内容保存してコンピューターオフにする機能である)
7. Some bats hibernate in caves during the winter.(一部コウモリは冬に洞窟冬眠する
8. Hibernate mode saves all open documents and programs to the hard disk before turning off the computer.(休止状態は、コンピューターオフにする前にすべての開いているドキュメントプログラムハードディスク保存する
9. Snakes hibernate in the cold months.(ヘビは寒い月に冬眠する
10. Hibernate mode allows you to resume your work where you left off.(休止状態は、作業中断したころから再開することを可能にする)

Hibernate

読み方はいばねーと
別名:ハイバネート

Hibernateとは、Hibernate Development Teamによって開発されているJava言語向けのO/Rマッピング用のライブラリの名称である。HibernateのライセンスLGPLであり、スタンドアローンJavaアプリケーション使える他、Java ServletEJBセッションビーンを使った Java EE アプリケーションなどでも利用可能である。また、HQL」という独自のSQLライク言語提供している。


参照リンク
hibernate.org - 公式サイト
プログラミングのほかの用語一覧
Java:  GWT  GlassFish  Groovy  Hibernate  パーソナルJava  J2SE 5.0  Jakartaプロジェクト

Hibernate

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/03/17 03:30 UTC 版)

Hibernate
開発元 レッドハット
最新版
6.6.11.Final[1] / 2025年3月16日 (27時間前) (2025-03-16)
リポジトリ
対応OS クロスプラットフォーム
プラットフォーム Javaプラットフォーム
種別 ORM
ライセンス LGPL
公式サイト www.hibernate.org
テンプレートを表示

Hibernate は、Java のためのオブジェクト関係マッピング (ORM) ライブラリであり、オブジェクト指向ドメインモデル関係データベースにマッピングするためのフレームワークを提供する。Hibernate は、永続性に関わるデータベースアクセスを直接高レベルなオブジェクト操作機能に置換することでオブジェクト指向と関係モデルの不整合を解決する。

Hibernate はオープンソース自由ソフトウェアであり、GNU Lesser General Public License で提供されている。

機能概要

第一の機能は、Javaクラスからデータベースの表(およびJavaデータ型からSQLデータ型)へのマッピングである。また、データのクエリと検索機能も提供する。SQL呼び出しを自動生成することで、開発者がSQL呼び出しの結果をいちいちオブジェクトに変換する手間から解放し、性能への影響を最小にしつつ、あらゆるSQLデータベースへの移植性を達成している。

Hibernateは Plain Old Java Object (POJO) のための透過的永続性を提供する。永続性クラスに要求されることは、引数のないコンストラクタが存在することであり、コンストラクタの可視性がpublicでなくともよい(一部アプリケーションでは、equals()hashCode()メソッドにも注意が必要[1])。

Hibernateには「ダーティチェッキング」機能がある。この機能は、永続的オブジェクトの変更されたフィールドについてのみSQLによる更新を行うもので、不必要なデータベース更新を削減する。

Hibernateは「HQL」というSQLライクなクエリ言語を提供している。オブジェクト指向的な代替手段としてクライテリアクエリも提供されている。

HibernateはスタンドアローンJavaアプリケーションにも使えるし、Java ServletEJBセッションビーンを使ったJakarta EEアプリケーションにも使える。

歴史

HibernateはGavin Kingをリーダーとして世界中のJavaソフトウェア開発者がチームを結成して開発した。その後、JBoss社(現在はレッドハットの一部)がHibernateの主要開発者を雇い入れ、サポートを行うようになった。

バージョン3.xでは、Interceptor/Callbackアーキテクチャ、ユーザ定義フィルタ、JDK 5.0アノテーション(Javaのメタデータ機能)などの新機能が新たに追加された。このバージョンはEJB 3.0仕様とも非常に近く(ただし、EJB 3.0仕様が完成しJava Community Processによってリリースされる前にリリースされた)、JBossのEJB 3.0実装の基盤となった。

モジュール

Hibernateはモジュール化され、それぞれ独立したチームが開発している。

ORM (4.1より前はCore)
主モジュールであり、主要機能が全て実装されている(Session サポート、トランザクション管理、オブジェクト・キャッシング、HQL)。
Annotations
JSR 175 のアノテーションサポート(JSR 220 JPAアノテーション標準に準拠)。XMLによるメタデータマッピングの代替手法を提供する。
Entity manager
Coreモジュールのラッパーであり、JSR 220 JPA Entity Manager標準をサポート
Envers
履歴管理
Metamodel Generator
OGM
Object/Grid Mapper。NoSQL対応。
Search
Hibernateで管理されている永続性実体群に対して、Luceneを使った検索を行うための抽象化層を提供するモジュール
Shards
Hibernate Coreの縦分割を提供するモジュール
Tools
Apache Antのタスク群やEclipseプラグインなど、Hibernateを使った開発に役立つモジュール
Validator
一般的なデータベースの制約(数値の範囲、文字列形式、nullチェックなど)をアノテーションを使って検証可能にするモジュール

永続性クラスのマッピング

JavaオブジェクトとSQLの変換をするには、JavaクラスとSQLテーブルの間の「マッピングデータ」がなければならない。Hibernateはこのためのいくつかの手段を提供する。

XMLメタデータ
最も一般的な手法。各クラス(とそのプロパティ群)は、所定のDTDスキーマに対応したXML文書にて、XML要素として表現される。
アノテーションによるメタデータ
JSR 175に準拠して、永続性クラスのソースコードに注釈として記述する。Hibernateがそれを解釈して設定ファイルにそのクラスに関する情報を追加する(あるいは、実行時にConfigurationインスタンスに追加する)。アノテーション機能は別モジュール化されている。
XDocletメタデータ
JSR 175およびJava 5.0がリリースされる以前に、アノテーションと似たような機能を実装したもの。XDoclet属性は永続性クラスのソースファイル上で記述され、Apache Antの独立したタスクで構文解析され、XMLメタデータを生成する。
メタデータのプログラムからの操作
Hibernateは、SessionFactoryのインスタンスを生成する前に、マッピングの詳細を操作するAPI(Configurationインスタンスを使用)も提供している。

ダーティチェッキング

不要なSQLによる更新を防ぐため、Hibernateはダーティチェッキングという機能を提供している。この機能は、永続的オブジェクトの変更されたフィールドやコレクションのみを更新できるようにするものである。コレクションに含まれない部分の更新が必要かどうかを確認するため、HibernateはそれらのフィールドをObject.equals()メソッドで比較する。一方、コレクションフィールド(java.util.Listjava.util.Setなど)は同一性(参照)比較を行う。

API

Hibernate APIは、パッケージ org.hibernateで提供されている。

org.hibernate.SessionFactoryインタフェース
新たなHibernateセッションを生成するイミュータブルスレッドセーフなオブジェクトへの参照。Hibernateベースのアプリケーションは、一般にこのインタフェースを実装したクラスのインスタンスを1つだけ使う(Singleton パターン を利用)。
org.hibernate.Sessionインタフェース
Hibernateセッション、すなわちデータベース上で行う操作の主要ポイントを表す。オブジェクトの永続性状態(一時的、永続的、分離)を管理し、データベースから永続的オブジェクトを取り出し、トランザクション境界を管理する。セッションは、データベース上の論理トランザクションと同程度に維持されることを意図している。セッションはスレッドセーフではなく、複数のクライアントから使われることを意図していない。

脚注

  1. ^ Releases”. 2025年3月17日閲覧。

関連項目

参考文献

外部リンク




固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「hibernate」の関連用語

hibernateのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



hibernateのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
実用日本語表現辞典実用日本語表現辞典
Copyright © 2025実用日本語表現辞典 All Rights Reserved.
OSS iPediaOSS iPedia
Copyright © Information-technology Promotion Agency, Japan. All rights reserved 2006-2025
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【Hibernate】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのHibernate (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS