[Seasar-user:17749] Re: S2JDBCのInputStreamの対応について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2009年 6月 14日 (日) 19:00:22 JST


小林 (koichik) です.

Date:    Sun, 14 Jun 2009 07:13:05 +0900
From:    Yoshinori Ishii <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:17746] S2JDBCのInputStreamの対応について

> jdbcManager.selectBySql(InputStream.class,
> "SELECT image FROM posts WHERE id = ?", id).getSingleResult();
> 
> 上記のようにpostsテーブルのlongblob型imageフィールドのデータを
> InputStreamで取得したいのですが、

getSingleResult() は結果を返す前に ResultSet を
クローズしてしまうので,InputStream からデータを
読み出すことはできません.

getSingleResult()/getResultList() ではなく,
iterate() を使ってください.
[Seasar-user:17730] からのスレッドも参照してください.

> 以下のようなエラーが出てしまいます。
> 
> org.seasar.framework.exception.InstantiationRuntimeException:
(略)
> AbstraceSqlSelect#createSingleResultSetHandler()で、
> baseClass(InputStream.class)がBeanRessultSetHandlerと対応し
> InputStreamをBeanとして扱っているために起こっている例外のように見えます。
> 
> 本来ならInputStreamはValueTypes#isSimpleType()でSimpleTypeと判定されるべきなのでしょうか?

こちらについては修正しました.
SNAPSHOT をデプロイしたのでご確認ください.

http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-framework/2.4.39-SNAPSHOT/s2-framework-2.4.39-20090614.093717-5.jar
http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-extension/2.4.39-SNAPSHOT/s2-extension-2.4.39-20090614.093717-5.jar
http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-tiger/2.4.39-SNAPSHOT/s2-tiger-2.4.39-20090614.095436-5.jar


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



Seasar-user メーリングリストの案内