2012年8月27日月曜日

NHibernateでレコードが取得出来ない

NHibernateを使用したシステムを構築中である。
途中で参画したプロジェクトの為、ベースとなるものはすでに作成されている。
とはいえベースの部分も完全にできているわけではなく、設定ミスなどでうまく動かないところもある。


始めから関わっていればなんにことは無かったのだが、少し苦戦したところとして、 レコードがDBに存在するにもかかわらず、取得出来ないという事象。
設定ミスとは思ったのだが、パッと見は確り設定されているよう見えて修正に手間取った。


  1. マッピング・ファイル(xxx.hm.xml)を出力ディレクトリへ「コピーしない」に設定されていた。
  2. 永続化クラスのプロパティにvirtual指示子が不足していた。
  3. マッピング・ファイルの定義が間違っていた。単一キーなのに、複合キーの記述がされていた。

実際に修正を試みた手順としては、複合キーの記述が怪しいと思い修正、なおらず。
次に出力ディレクトリへコピーしない点を発見し、実行。エラーがいっぱいでてびっくり。
virtual指示子の不足に気がつき解決。なので単一キーなのに、複合キーの記述になっていた点は、別に問題なかったのかもしれない。

0 件のコメント:

コメントを投稿