SHINN::Scribble

2007.09.14

Hibernate 3 と ビュー  はてなブックマーク - Hibernate 3 と ビュー

Java から mysql を使うために O/R マッピングツールである Hibernate 3 を利用しています。

Hibernate を使うと,JDBC のレコードセットの内容を Java クラスへセットするような退屈なコードを書かなくて済むので助かります。

先日,ビューに対して Hibernate のマッピングクラスを生成したときです。ビューの中には明らかにレコードが存在するのですが,Hibernate を経由してレコードを取得すると null が返される事象に遭遇しました。Hibernate から返される List の要素数は想定通りの数なのですが,List の要素が null になっています。

原因が分からず調べたところ,ビューの場合は全列がプライマリキーとして扱われるため,レコード中に 1 列でも null があると,行オブジェクト自体を null にしてしまうようです。

正式な解決方法(?)が分からなかったので,IFNULL を使って null の場合には空文字列を出力するようにしたらレコードを取得できるようになりました。

SELECT IFNULL(table.column, "") .....

TrackBackshttp://shinn.boo.jp/mt/mt-tb.cgi/431

Comments

コメントをどうぞ




保存しますか?


 
Mail,メール  twitter,フォロー  RSS,フィード

CATEGORIES

DOWNLOADS

COCOMEISTER

ココマイスターのバッグ

 

    この日記のはてなブックマーク数  Powered by Movable Type 3.33-ja   blogram投票ボタン