NHibernate

NHibernate
開発元 レッドハット
最新版
5.1.6 / 2019年9月14日 (4年前) (2019-09-14)[1]
最新評価版
[1]
リポジトリ
  • github.com/nhibernate/nhibernate-core
ウィキデータを編集
対応OS 各種
プラットフォーム .NET 4.0とMono
種別 オブジェクト関係マッピング
ライセンス GNU Lesser General Public License
公式サイト http://nhibernate.info/
テンプレートを表示

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

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

歴史

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

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

脚注

[脚注の使い方]
  1. ^ “Releases · nhibernate/nhibernate-core · GitHub”. 2019年10月2日閲覧。
  2. ^ hibernate.org - Equals and HashCode
  3. ^ [Hibernate] NHibernate joins Hibernate at JBoss Inc

参考文献

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

外部リンク

  • NHibernate Homepage
  • NHibernate Sourceforge Summary
  • NHibernate overview by Justin Gehtland、Part 2
  • 表示
  • 編集