[Seasar-user:18230] Re: [Kuina+S2TopLink] BLOBデータの読み込みが失敗する

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2009年 8月 7日 (金) 22:00:21 JST


小林 (koichik) です.

Date:    Fri, 07 Aug 2009 21:19:53 +0900
From:    新田 雅浩 <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:18229] Re: [Kuina+S2TopLink] BLOBデータの読み込みが失敗する

> 読み込みでTopLinkの例外が出ているということは、TopLinkの問題なのでしょう
> か?

TopLink と H2 の組み合わせによる問題のようですね.

Blob の場合,TopLink は ResultSet#getObject() が
byte[] または java.sql.Blob を返すことを期待
しているのに対して,H2 は InputStream を返します.
そのために変換できないという例外がスローされてます.

で,H2 1.1.104 で Blob を返すように修正されてるので,
これ以降の H2 を使えばいいのではないかと.

http://www.h2database.com/html/changelog.html

Version 1.1.104 (2008-11-28)

・ResultSet.getObject for CLOB or BLOB will return 
  a java.sql.Clob / java.sql.Blob object instead of 
  a java.io.Reader / java.io.InputStream as in version 1.0. 
  This behavior can be changed using the system property 
  h2.returnLobObjects (true by default for version 1.1).


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