「Fluent NHibernate」の版間の差分
imported>Administrator |
imported>Fallout New Tokyo |
||
(2人の利用者による、間の7版が非表示) | |||
1行目: | 1行目: | ||
− | '''Fluent NHibernate''' | + | '''Fluent NHibernate'''(読み:ふるーえんと・えぬはいばねーと)とは、[[.NET Framework]]向けの[[ORM]]のひとつである[[NHibernate]]の[[ラッパーライブラリ]]である。 |
+ | == 概要 == | ||
Fluentは日本語で「流暢な」や「さくさく」という意味であり、直訳すると「さくさくハイバネート」となる。 | Fluentは日本語で「流暢な」や「さくさく」という意味であり、直訳すると「さくさくハイバネート」となる。 | ||
似たような言い回しには以下のようなものがある。 | 似たような言い回しには以下のようなものがある。 | ||
8行目: | 9行目: | ||
* [[ボクらのScala ~ 次世代Java徹底入門]] | * [[ボクらのScala ~ 次世代Java徹底入門]] | ||
− | == | + | [[Hibernate]]および[[NHibernate]]は、よく[[Ruby]]界隈で圧倒的な勢力をもつ[[ActiveRecord]]と比較され、多くの場面でボロクソに言われているのが実情である。しかも、その話題が過熱しすぎると[[ORM]]単体どころか[[Java]]は[[プログラミング言語]]としても劣っている云々という話に飛躍するくらい酷い有様である。 |
− | [[NHibernate]]では[[データベース]]の接続設定やマッピングを記述するのに[[XML]]を用いる。一方、Fluent NHibernateではXMLの代わりに[[C Sharp|C#]] | + | |
+ | そこへ颯爽と登場したのが、指摘されていた問題点を[[C Sharp|C#]]の変態機能を使いまくることで解決しまくった「さくさくハイバネート」である。 | ||
+ | |||
+ | == 特徴 == | ||
+ | [[NHibernate]]では[[データベース]]の接続設定やマッピングを記述するのに[[XML]]を用いる。一方、Fluent NHibernateではXMLの代わりに[[C Sharp|C#]]の[[ソースコード]]でそれらを記述する。 | ||
[[XML]]ではなく[[C Sharp|C#]]の[[ソースコード]]として記述することで、実行時にXMLを動的に解析するのに比べ、実行前に[[コンパイラ]]による最低限の記述ミスのチェックを行え、より安全性が高まるという利点がある。 | [[XML]]ではなく[[C Sharp|C#]]の[[ソースコード]]として記述することで、実行時にXMLを動的に解析するのに比べ、実行前に[[コンパイラ]]による最低限の記述ミスのチェックを行え、より安全性が高まるという利点がある。 | ||
23行目: | 28行目: | ||
* [[Fluent NHibernate/データベース接続設定]] | * [[Fluent NHibernate/データベース接続設定]] | ||
* [[Fluent NHibernate/オートマッピング]] - 自動マッピング | * [[Fluent NHibernate/オートマッピング]] - 自動マッピング | ||
− | * [[Fluent NHibernate/フルーエントマッピング]] - | + | * [[Fluent NHibernate/フルーエントマッピング]] - 手動マッピング。Fluent NHibernateの核となる機能である。 |
+ | |||
+ | |||
+ | なお、[[クエリ]]などの部分はほぼ[[NHibernate]]そのものを使うことになる。 | ||
+ | よってそれらの使い方は「[[NHibernate]]」の項目を参照。 | ||
+ | |||
{{stub}} | {{stub}} | ||
+ | |||
+ | == 便利ツール == | ||
+ | * [[Visual NHibernate]] - ER図などを用いてビジュアルにマッピングを書ける商用ソフト。 | ||
== 関連項目 == | == 関連項目 == | ||
31行目: | 44行目: | ||
== 参考文献 == | == 参考文献 == | ||
− | + | {{reflist}} | |
== 外部リンク == | == 外部リンク == |
2014年3月3日 (月) 05:46時点における最新版
Fluent NHibernate(読み:ふるーえんと・えぬはいばねーと)とは、.NET Framework向けのORMのひとつであるNHibernateのラッパーライブラリである。
概要[編集 | ソースを編集]
Fluentは日本語で「流暢な」や「さくさく」という意味であり、直訳すると「さくさくハイバネート」となる。 似たような言い回しには以下のようなものがある。
HibernateおよびNHibernateは、よくRuby界隈で圧倒的な勢力をもつActiveRecordと比較され、多くの場面でボロクソに言われているのが実情である。しかも、その話題が過熱しすぎるとORM単体どころかJavaはプログラミング言語としても劣っている云々という話に飛躍するくらい酷い有様である。
そこへ颯爽と登場したのが、指摘されていた問題点をC#の変態機能を使いまくることで解決しまくった「さくさくハイバネート」である。
特徴[編集 | ソースを編集]
NHibernateではデータベースの接続設定やマッピングを記述するのにXMLを用いる。一方、Fluent NHibernateではXMLの代わりにC#のソースコードでそれらを記述する。
XMLではなくC#のソースコードとして記述することで、実行時にXMLを動的に解析するのに比べ、実行前にコンパイラによる最低限の記述ミスのチェックを行え、より安全性が高まるという利点がある。
また、Visual StudioやMonoDevelopなどの統合開発環境を使用することでインテリセンスなどの入力補完なども使えるため、シンタックスエラーなどの些細な記述ミスによるバグを抑制することができる。
さらにFluent NHibernateでは、Rubyなどでよく使われるActive Recordのようにマッピングクラスに基づき、それらに対応するデータベース上のテーブルの自動生成するオートマッピング機能を備えている。Fluent NHibernateのオートマッピング機能では、マッピングクラスを個別に明示し生成することも、.NET Frameworkのアセンブリを指定することで、そのアセンブリの中で使われているマッピングクラスを自動認識させ、そこから一気に自動生成を行うこともできるようになっている。
インストール[編集 | ソースを編集]
Visual Studioを用いている場合はNuGetを使うことで、Fluent NHibernateおよびNHibernateなどの依存するその他のライブラリも一括でインストールできるので便利である。[1]
使い方[編集 | ソースを編集]
- Fluent NHibernate/データベース接続設定
- Fluent NHibernate/オートマッピング - 自動マッピング
- Fluent NHibernate/フルーエントマッピング - 手動マッピング。Fluent NHibernateの核となる機能である。
なお、クエリなどの部分はほぼNHibernateそのものを使うことになる。
よってそれらの使い方は「NHibernate」の項目を参照。
便利ツール[編集 | ソースを編集]
- Visual NHibernate - ER図などを用いてビジュアルにマッピングを書ける商用ソフト。