[Seasar-user:8466] Re: [S2DAO]DB より取得したデータの全項目がNULLになる
Yasuo Higa
[E-MAIL ADDRESS DELETED]
2007年 6月 19日 (火) 16:50:54 JST
ひがです。
> 昨日頂いたテスト用コードを追加して実行いたしました。
>
> System.outによる出力は下記の通りです。
> ResultSetMetaDataよりカラム名を取得すると全て""となっていました。
>
> productName : Oracle
> primaryKey : ucode
> columnName : UCODE
> ・・・・他9項目
> columnName : DBCNT
> resultSetColumnName :
> resultSetColumnName :
> resultSetColumnName :
> resultSetColumnName :
> resultSetColumnName :
> resultSetColumnName :
> resultSetColumnName :
> resultSetColumnName :
> resultSetColumnName :
> resultSetColumnName :
> resultSetColumnName :
>
> 解決の糸口になりますでしょうか?
>
S2Daoは、ResultSetMetaData#getColumnName()、正確には、
getColumnLabel()で取得した名前とプロパティの名前を
マッチングさせて値をセットします。
そのため、今回のケースのように、
ResultSetMetaData#getColumnLabel()が
正しく値を返さない場合は、Beanに値を設定できません。
おそらく、稼動しているというサンプルは、ResultSetから
直接、getString()などで値を取得しているので、動いているように
見えるんだと思います。
ResultSetMetaData#getColumnLabel()が値を返さないのは、
オラクルのバグだと思うので、問い合わせてみては
いかがでしょうか。
よろしくお願いします。
--
Yasuo Higa
[E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内