- - PR -
HibernateをViewに対して使用すると、オブジェクトにNULLが返却される。
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-03-16 16:09
始めましてまさとーです。
現在、Hibernateを利用しシステム開発を行っているですが。 Viewに対してHibernateを使用すると検索は行われているにも 関わらず下記ソースのVpdオブジェクトにNULLが返却されます。 だれか、同じ現象が発生し原因が分かる方はおりませんでしょうか? 環境 HibernateはVer.3 JDK1.4.2_03 Oracle9i public static void main(String args[]) throws Exception{ Configuration config = new Configuration().configure(); SessionFactory sessionfactory = config.buildSessionFactory(); Session session = sessionfactory.openSession(); List list = session.createCriteria(VPtDetail.class).list(); for(int i = 0; i < list.size(); i++){ VPtDetail Vpd = (VPtDetail)list.get(i); System.out.println("V:" + Vtrr.getTotalAmot()); } } 以上 よろしくお願い致します。 [ メッセージ編集済み 編集者: まさとー 編集日時 2006-03-16 16:13 ] |
|
投稿日時: 2006-03-17 12:52
詳しく調べた訳ではないのであくまで推測に過ぎませんが、
Hibernateは対応する行がDB上にない場合は オブジェクトにnullがセットされるみたいです。 例えばこんなView(ORACLE)の場合です。 CREATE OR REPLACE VIEW EXAMPLE_VIEW (AVERAGE_PRICE,TOTAL_PRICE) AS SELECT AVG(PRICE), SUM(PRICE) FROM SOMETABLE; 間違ってたらごめんなさい。 よろしくどうぞ。 [ メッセージ編集済み 編集者: NIQS 編集日時 2006-03-17 13:01 ] |
|
投稿日時: 2006-03-28 16:41
NIQSさん
ご回答ありがとうございます。 調査した結果、VIEWだと全てがPキー扱いされている事が原因のようです。 多分、1項目でもnullの場合にオブジェクト自体nullにしてしまう模様。 →VIEWにNVLをつけて半角スペースを設定したら検索できました。 |
|
投稿日時: 2006-03-29 09:33
ということはやはり間違ったことを言ってたみたいですね。
知ったかぶって大変失礼しました。 逆に大変参考になりました。早速私も試してみます。 |
1