■
関連を試した。
いわゆる、Order テーブルと OrderDetail テーブルの関係。1 対 多
普通に動いていました。使えそうな感じがちょっとしますね。
- hibernate.cfg.xml で複数 DB にも対応
- 実行時依存ライブラリ(使用する機能によって他にも必要になる)
- Oracle の Dialect は 9i とそれ以外では別(Oracle9Dialect / OracleDialect)
- Lifecycle を implements しておけば、サーブレットフィルターのように select / insert / update / delete の実行直後に呼んでくれるメソッドが追加される
hibernate.hbm.xml だが、下記のような記述が可能らしいので
Configuration を初期化する箇所で *.hbm を追加してもいいかも。
ちょっといけてない気もするけども。
Configuration cfg = new Configuration()
.addFile("hoge.hbm.xml")
.addFile("moge.hbm.xml");
for update
Hoge hoge = (Hoge)session.get(Hoge.class, id, LockMode.UPGRADE);
hsqldb では普通の SELECT 文でした。
hibernate の開発方法としてある
- Top-down
- Bottom-up
- Middle-out
- Meet-in-the-middle
Bottom-up が一番楽かな?
Top-down は生成される ddl ファイルがシンプルすぎて
いちいち書き換えが必要だし Middle-out は面倒くさくて
マッピングファイルを先に作るなんて考えられないし
(GUI があればいけるかもしれないが、ddl の問題がある)
Meet-in-the-middle ・・・これは
他の O/R マッピングツール使ってて移行ということかな?
でも、これなら素直なテーブル構成と
JavaBeans なら Middlegen で自動生成できますね。
0 からと考えるとこれも面倒だし。