作成 2004/3/10
DBのスキーマ、マッピング、Javaソースを全部手書きで書くのは、いかにもめんどくさいので、どれかを作って、残りのものはそこから派生させる(自動生成する)のがよいでしょう。
Hibernateのドキュメント(http://www.hibernate.org/130.html)では、4つの開発プロセスを挙げています。
このあたりのアプローチとそれに利用するツールを図にしてみるとこんな感じになります。
あ、後から気づきましたが、わざわざ描かなくてもマニュアルにありましたね。図。
Hibernate roundtrip tools
http://www.hibernate.org/102.html
meet-in-the-middleは既存のシステムにHibernateを後から適用する、という場面でしょうが、あまり現実的でないかもしれません。自分の経験上(hibernateを使った経験でなくDBアプリの開発経験)は、DBスキーマが既にある、あるいはなくても先に作るというのが、ほとんどなので、bottom-upのアプローチがしっくりはきます。この場合、Middlegenなどのツールを利用する必要があるようです。ちなみにMiddlegen利用の説明はこちら↓(Middlegen利用法がまだよく分かってないが。。)。
Middlegen for Hibernate
http://www.hibernate.org/98.html
ちなみに、その他関連ツールの説明もマニュアルにのってますね。
Related Projects
http://www.hibernate.org/27.html
Eclipseプラグイン
Middlgenを使うのは気合が入りそうなので、Eclipseのプラグインで簡単にお茶を濁せないかな、とちょっと探して見ました。こんなのがあるようです。
http://hibernatesynch.sourceforge.net/
このプラグインでは、マッピングファイルのエディタがあり、コードアシストが提供されています。マッピングファイルをガシガシ書いていく人にはお勧めです。
また、マッピングファイルからjavaクラスの作成を行うことができます。この処理は、ビルドプロセス内で自動的に行うことができます(hbmファイルを保存したときに生成が実行される。そこが自動的な必要があるかどうか不明ですが)。さらに、DBテーブルからマッピングファイルを生成できます(こちらは使い勝手がもう一歩か。ドライバやURLの入力など。必要な項目だからしょうがないのかもしれないけど)。
なお、依存プラグインとしてveclocityプラグインが利用されてますので、velocityプラグインもインストールしておく必要があります。以下から入手できます(ダウンロードするのはui(veloedit)じゃない方です)。
http://sourceforge.net/project/showfiles.php?group_id=69218
http://jfacedbc.sourceforge.net/
これはDBクライアントプラグインで、DBのスキーマ編集もできちゃう(?)優れものです。何がhibernateに関係するんだ?と思っていたら、テーブルを選択して、マッピングファイルを生成できます。
http://hibernator.sourceforge.net/
これは試してないんですが、マッピングファイルからDBスキーマの生成、およびDBスキーマからマッピングファイルの生成ができるようです。
上記プラグインとも、マッピングファイルの生成はそれほど融通はきかないようです。作った後、若干手直しが入るかも。