JBoss上でHibernate利用中。細かいミスを修正し、複合キーをもつテーブルでのSELECTに成功。
自宅利用リンク集、勉強を兼ね、Hibernate移行中...。
マッピングファイルの作成方法さえわかれば、かなり楽ができます。
すごいぞ、Hibernate!
複合キーをもつテーブル同士でのone-to-oneリレーション下でのSELECTにも成功。
マッピングファイルにおいてpropertyタグ(type="int")配下のcolumnタグでno-null="false"と
しているにも関わらず、そのカラムの実データにnullが入っているとSELECT中にモノの見事
に落ちてくれる...。
Hibernate Users FAQの訳を公開されているnekopさんからツッコミをいただきました。
type="int"ではなくtype="integer"が正解。type="int"でも上記のケース以外は問題なく
動いている、謎だ。
nekopさんからまたまたツッコミを戴いてしまいました。
対応する永続化クラスのプロパティの型をIntegerにする、あるいは<永続化クラスの
setterでIntegerをintに変換すればOKです。
JavaDeveloper1月号のサンプルも"int"になっていました...。
「飛ぶ鳥、跡を濁さず」といいますが、この会社は濁しまくってますな。
http://nekop.programmers.jp/hiki/hiki.cgi?HibernateUsersFAQ#l11
not-null属性は実行時には影響しません。これはSchemaExportなどに使用されます。unique属性も同様です。
type="int"とtype="integer"は、どちらもIntegerTypeの指定であり、「何も変わらない」はずです。TypeFactoryの実装は一度目を通しておいたほうがいいかもしれません。