[Seasar-user:2873] S2Dao でJDKを変えると ClassCastException

Shigeru Matsumoto matsumoto
2005年 11月 18日 (金) 23:15:18 JST


お世話になります。松本と申します。

S2DaoでJDK1.4.2_08だと動くコードがJDK1.4.2_10にして
Daoのメソッドを呼ぶとClassCastExceptionでこけてしまうコードがあります。

DaoのメソッドはBigDecimalを返すメソッドで引数4つを取ります。
public BigDecimal sumTest(String a, String b, String c, String d,
 String e);
public static final String sumTest_ARGS = "a,b,c,d";

SQLファイルは
select 
sum(qty)
from testdat s 
left outer join xx l on s.hoge = l.hoge and s.hoge2 = l.hoge2
where s.a = /*a*/'a'
and s.b = /*b*/'b'
and s.c = /*c*/'0'
and l.d = /*d*/'1'

となっています(フィールド名等はサンプルです)
スタックトレースは
java.lang.ClassCastException
	at sun.nio.cs.ext.JISAutoDetect$Decoder.decodeLoop(Unknown Source)
	at sun.nio.cs.ext.JISAutoDetect$Decoder.decodeLoop(Unknown Source)
	at java.nio.charset.CharsetDecoder.decode(Unknown Source)
	at sun.nio.cs.StreamDecoder$CharsetSD.implRead(Unknown Source)
	at sun.nio.cs.StreamDecoder.read(Unknown Source)
	at java.io.InputStreamReader.read(Unknown Source)
	at java.io.BufferedReader.read1(Unknown Source)
	at java.io.BufferedReader.read(Unknown Source)
	at java.io.Reader.read(Unknown Source)
	at org.seasar.framework.util.ReaderUtil.readText(ReaderUtil.java:27)
	at org.seasar.framework.util.TextUtil.readText(TextUtil.java:18)
	at org.seasar.dao.impl.DaoMetaDataImpl.setupMethod(DaoMetaDataImpl.java:132)
	at org.seasar.dao.impl.DaoMetaDataImpl.setupSqlCommand(DaoMetaDataImpl.java:112)
	at org.seasar.dao.impl.DaoMetaDataImpl.<init>(DaoMetaDataImpl.java:103)
	at org.seasar.dao.impl.DaoMetaDataFactoryImpl.getDaoMetaData(DaoMetaDataFactoryImpl.java:42)
	at org.seasar.dao.interceptors.S2DaoInterceptor.invoke(S2DaoInterceptor.java:34)
	at org.seasar.framework.aop.impl.NestedMethodInvocation.proceed(NestedMethodInvocation.java:26)
	at org.seasar.framework.aop.interceptors.TraceInterceptor.invoke(TraceInterceptor.java:33)
	at org.seasar.framework.aop.impl.NestedMethodInvocation.proceed(NestedMethodInvocation.java:26)
	at org.seasar.framework.aop.interceptors.InterceptorChain.invoke(InterceptorChain.java:24)
	at test.TestDatDao$$EnhancedByS2AOP$$18622f3$$MethodInvocation$$sumTest5.proceed(MethodInvocationClassGenerator.java)
	at test.TestDatDao$$EnhancedByS2AOP$$18622f3.sumTest(TestDatDao$$EnhancedByS2AOP$$18622f3.java)

となっております。
SQLを組み立てる時にこけている様な感じです。
DAOのバージョンはs2-dao-1.0.28.jarでPostgreSQL8.0.3を使っております。
JDKの違いやdaoのバージョンで何か注意する点等ありますでしょうか?

よろしくお願い致します。

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
    進システムデザイン(株) 松本 滋
      e-mail:matsumoto @ zsd.co.jp
_/_/_/_/_/_/_/ZSD Co.,LTD/_/_/_/_/_/_/_/



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