NHibernate

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
NHibernate
開発元 レッドハット
最新版 3.2.2 / 2012年10月22日
最新評価版 [1]
対応OS 各種
プラットフォーム .NET 3.5 と Mono
種別 オブジェクト関係マッピング
ライセンス GNU Lesser General Public License
公式サイト http://nhforge.org/
テンプレートを表示

NHibernate は、.NET Framework 向けのオブジェクト関係マッピング (ORM) ソリューション。オブジェクト指向ドメインモデル関係データベースへのマッピングのための扱いやすいフレームワークを提供する。大量の関係データの永続性に関わるプログラミングタスクの開発を容易にする。

NHibernate はフリーかつオープンソースのソフトウェアであり、GNU Lesser General Public License で配布されている。

バージョン[編集]

NHibernate は、Java 用O/Rマッパー Hibernate を .NET に移植したものである。バージョン 1.0 は Hibernate 2.1 に機能的に対応しており、Hibernate 3 の機能も一部取り込んでいる。

2007年11月には NHibernate 1.2.1 がリリースされた。Hibernate 3 から多数の機能を取り込み、.NET 2.0 への対応、ストアドプロシージャ、ジェネリックス、nullable type に対応している。

2008年8月23日には NHibernate 2.0 がリリースされた。機能面では Hibernate 3.2 に対応している。

NHibernate 2.1 が現在開発中で、Language Integrated Query プロバイダを含む予定である。

機能概要[編集]

NHibernate の主な機能は、.NET クラスとデータベースの表をマッピングすることである(同時に、CLR データ型とSQLデータ型をマッピングする)。データクエリおよび検索ファシリティも提供する。SQLコマンドを生成するので、開発者は煩雑なデータハンドリングとオブジェクト変換を気にする必要がなくなり、同時に各種SQLデータベースに対して移植性の高いアプリケーションが開発でき、しかもそのための性能オーバーヘッドはわずかである。

NHibernate は Plain Old CLR Object (POCO) のための透過的永続性を提供する。永続性クラスに要求されることは、コンストラクタの引数がないことであり、public であることを必須ではない(一部アプリケーションでは、Equals()GetHashCode() メソッドにも注意が必要[1])。

歴史[編集]

NHibernate は Tom Barrett が開発を始め、Mike Doerfler と Peter Smulovics が引き継いだ。2005年末、JBoss(現在はレッドハットの一部)が NHibernate の開発リーダーである Sergey Koshcheyev を雇い入れ、NHibernate の開発を仕事としてフルタイムで行えるようにした[2]

Pierre Henri Kuaté らの著書 NHibernate in Action は、NHibernate の包括的ドキュメントとなっている。

脚注[編集]

[ヘルプ]

参考文献[編集]

  • Pierre Henri Kuaté, Tobin Harris, Christian Bauer, Gavin King: NHibernate in Action, Manning Publications Company, ISBN: 1-932394-92-3

外部リンク[編集]