[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:[E-MAIL ADDRESS DELETED]
_/_/_/_/_/_/_/ZSD Co.,LTD/_/_/_/_/_/_/_/
Seasar-user メーリングリストの案内