成長したいIT技術検証所

2004/12/17 (金) NHibernate.Tool.hbm2net.exe

[]hbm2net

NHibernate/binにあるNHibernate.Tool.hbm2net.exeを使うと.hbm.xmlからValueObjectとなるクラスを自動生成することができます。

 前回のHibernate記事で作成したVS.NETプロジェクトを例にして解説します。

----------

1)HibernateSampleプロジェクトがあるフォルダに、codegen.xmlを作成する。

 
<codegen> 
<generate renderer="NHibernate.Tool.hbm2net.BasicRenderer"/> 
</codegen> 

2)コマンドプロンプトを立ち上げ、カレントフォルダをHibernateSampleプロジェクトがあるフォルダにする。

3)NHibernate.Tool.hbm2net.exeを実行する。

[NHibernateフォルダ]/bin/NHibernate.Tool.hbm2net.exe --config=codegen.xml User.hbm.xml

4)すると、

[HibernateSampleフォルダ]/generated/NHibernate/Sample/QuickStart/User.cs

 が作成されています。good job!

 なお、NHibernate.Tool.hbm2net.exeの構文は以下の通りです(ちょびっとしか調べていませんが)。

NHibernate.Tool.hbm2net.exe --config=[コード生成設定ファイル] --output=[クラスを生成するフォルダ] a.hbm.xml b.hbm.xml ...

----------


 次は、.hbm.xmlを既にあるDBのテーブルから自動作成できんものかと探しております。JavaHibernateでならすぐみつけたんですがー。

よっしぃよっしぃ 2005/04/26 10:54 ■.hbm.xmlを既にあるDBのテーブルから自動作成

middlegen+middlgen-nhibernate-pluginで実現できると思われます。
Javaのツールですが・・・。