[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 メーリングリストの案内