[Seasar-user:7944] [S2Dao] メソッドでList<Map<String, String>>をreturnすると例外発生

松崎 学 [E-MAIL ADDRESS DELETED]
2007年 5月 30日 (水) 22:58:23 JST


松崎です。

S2Dao1.0.43を使用して、メソッドの戻り値を
List<Map<String, String>>とすると以下の例外が発生してしまいます。
(JUnitで実行しました。)

そういうメソッドがひとつでもあると、正常に動いていた他のメソッドでも
例外が発生するようになります。
戻り値がList<Map>ならOKでした。

できればコレクションクラスは全てジェネリクスにしたいのです。
対応をご検討いただけないでしょうか?

java.lang.ClassCastException
	at java.lang.Class.cast(Class.java:2951)
	at org.seasar.dao.annotation.tiger.impl.DaoAnnotationReaderImpl.getBeanClass(DaoAnnotationReaderImpl.java:83)
	at org.seasar.dao.impl.DaoMetaDataImpl$ResultSetHandlerFactoryImpl.createResultSetHandler(DaoMetaDataImpl.java:1022)
	at org.seasar.dao.impl.DaoMetaDataImpl.createResultSetHandler(DaoMetaDataImpl.java:411)
	at org.seasar.dao.impl.DaoMetaDataImpl.setupSelectMethodByManual(DaoMetaDataImpl.java:322)
	at org.seasar.dao.impl.DaoMetaDataImpl.setupMethodByManual(DaoMetaDataImpl.java:303)
	at org.seasar.dao.impl.DaoMetaDataImpl.setupMethodBySqlFile(DaoMetaDataImpl.java:258)
	at org.seasar.dao.impl.DaoMetaDataImpl.setupMethod(DaoMetaDataImpl.java:189)
	at org.seasar.dao.impl.DaoMetaDataImpl.setupMethod(DaoMetaDataImpl.java:181)
	at org.seasar.dao.impl.DaoMetaDataImpl.setupSqlCommand(DaoMetaDataImpl.java:175)
	at org.seasar.dao.impl.DaoMetaDataImpl.initialize(DaoMetaDataImpl.java:153)
	at org.seasar.dao.impl.DaoMetaDataFactoryImpl.createDaoMetaData(DaoMetaDataFactoryImpl.java:123)
	at org.seasar.dao.impl.DaoMetaDataFactoryImpl.getDaoMetaData(DaoMetaDataFactoryImpl.java:105)
	at org.seasar.dao.interceptors.S2DaoInterceptor.invoke(S2DaoInterceptor.java:51)
	at org.seasar.dao.pager.PagerS2DaoInterceptorWrapper.invoke(PagerS2DaoInterceptorWrapper.java:71)
	at jp.co.camnet.macs.dao.master.McDivNameDao$$EnhancedByS2AOP$$15d4de6$$MethodInvocation$$getByPk0.proceed(MethodInvocationClassGenerator.java)
	at org.seasar.javelin.JavelinTraceInterceptor.invoke(Unknown Source)
	at jp.co.camnet.macs.dao.master.McDivNameDao$$EnhancedByS2AOP$$15d4de6$$MethodInvocation$$getByPk0.proceed(MethodInvocationClassGenerator.java)
	at org.seasar.framework.aop.interceptors.TraceInterceptor.invoke(TraceInterceptor.java:70)
	at jp.co.camnet.macs.dao.master.McDivNameDao$$EnhancedByS2AOP$$15d4de6$$MethodInvocation$$getByPk0.proceed(MethodInvocationClassGenerator.java)
	at jp.co.camnet.macs.dao.master.McDivNameDao$$EnhancedByS2AOP$$15d4de6.getByPk(McDivNameDao$$EnhancedByS2AOP$$15d4de6.java)
	at jp.co.camnet.macs.dao.master.McDivNameDaoTest.test001Tx(McDivNameDaoTest.java:46)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at junit.framework.TestCase.runTest(TestCase.java:164)
	at org.seasar.framework.unit.S2FrameworkTestCase.doRunTest(S2FrameworkTestCase.java:324)
	at org.seasar.extension.unit.S2TestCase.doRunTest(S2TestCase.java:92)
	at org.seasar.framework.unit.S2FrameworkTestCase.runBare(S2FrameworkTestCase.java:188)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:120)
	at junit.framework.TestSuite.runTest(TestSuite.java:230)
	at junit.framework.TestSuite.run(TestSuite.java:225)
	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

以上、よろしくお願い致します。





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