まとめAndroMDA→Hibernateを整理

  • モデルを書く。注意しなければならないのは多重度とロール。全て書くこと
  • 関連の方向に注意、こればっかりは使うときを考えて線を引かなければならない
  • Poseisonは描画ツールとしては致命的に弱い。今回はEAで書いてXMI1.2を経由してPoaseidonで改めてzuml形式で保存(余談だが、zumlは要するにxmiのzip圧縮なので手動でもなんとかなる予感)
  • AndroMDAを実行する。デフォルトだとなぜかHibernateのつもりなのにEJBが混じるのでbuild.xmlからいくつかtaskを削除
  • どうせコンパイルが通るものは出てこないので手動で修正。
  • 出力されたファイルのうち、重要なのはhbm.xmlとモデルの.javaファイル。これを実地のソースディレクトリにコピー
  • .javaファイルの修正
    • エンティティクラスがAbstractになってしまっている。今回は不要なので戻す
    • 一部Dateの変換がうまくいかないのでimport編成で修正
    • 生成するHibernateタグのうちPrimaryKeyは自動でuuid.hexになる。しかし、これは文字列なのでこれをhiloなどに直す(エンティティ全て)
    • 生成されるテーブル名に「HIB_」がつく。いらんので消す
    • getter、setterの近くにフィールド宣言がある。読みにくいので先頭に移す(好みの問題だが)
  • .hbm.xmlファイルの修正
    • 同様にテーブル名から「HIB_」を取る
    • 同様にPrimaryKeyを「hilo」に直す
    • DTDのバージョンを1.1から2.0にあげる(これで連鎖的に修正あり)
    • 改行がキモいのでフォーマットする
    • Date宣言がヘンなので直す
  • ここまでできたらHibernatorを利用してスキーマを作成する。

あとはテストしてみて、うまくいったら帰るだけ。