Hibernate メモ2

作成 2004/3/10

開発プロセスと開発ツール

DBのスキーマ、マッピング、Javaソースを全部手書きで書くのは、いかにもめんどくさいので、どれかを作って、残りのものはそこから派生させる(自動生成する)のがよいでしょう。

Hibernateのドキュメント(http://www.hibernate.org/130.html)では、4つの開発プロセスを挙げています。

top-down

bottom-up

middle-out

meet-in-the-middle

このあたりのアプローチとそれに利用するツールを図にしてみるとこんな感じになります。

あ、後から気づきましたが、わざわざ描かなくてもマニュアルにありましたね。図。

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のプラグインで簡単にお茶を濁せないかな、とちょっと探して見ました。こんなのがあるようです。

Hibernate Synchronizer

http://hibernatesynch.sourceforge.net/

このプラグインでは、マッピングファイルのエディタがあり、コードアシストが提供されています。マッピングファイルをガシガシ書いていく人にはお勧めです。

また、マッピングファイルからjavaクラスの作成を行うことができます。この処理は、ビルドプロセス内で自動的に行うことができます(hbmファイルを保存したときに生成が実行される。そこが自動的な必要があるかどうか不明ですが)。さらに、DBテーブルからマッピングファイルを生成できます(こちらは使い勝手がもう一歩か。ドライバやURLの入力など。必要な項目だからしょうがないのかもしれないけど)。

なお、依存プラグインとしてveclocityプラグインが利用されてますので、velocityプラグインもインストールしておく必要があります。以下から入手できます(ダウンロードするのはui(veloedit)じゃない方です)。

http://sourceforge.net/project/showfiles.php?group_id=69218

JFaceDbc

http://jfacedbc.sourceforge.net/

これはDBクライアントプラグインで、DBのスキーマ編集もできちゃう(?)優れものです。何がhibernateに関係するんだ?と思っていたら、テーブルを選択して、マッピングファイルを生成できます。

Hibernator

http://hibernator.sourceforge.net/

これは試してないんですが、マッピングファイルからDBスキーマの生成、およびDBスキーマからマッピングファイルの生成ができるようです。

上記プラグインとも、マッピングファイルの生成はそれほど融通はきかないようです。作った後、若干手直しが入るかも。


BACK TOP