[Seasar-user:17594] Re: [S2JDBC] 時制を指定したプロパティを検索条件とした場合の動作について

UmedaYoshikazu [E-MAIL ADDRESS DELETED]
2009年 6月 3日 (水) 01:26:55 JST


お世話になってます、梅田です。

スナップショットの作成、ありがとうございました。
スナップショットを試してみましたが、今度は例外が発生してしまいました。
以下にスタックトレースを貼り付けます。
何度もすみませんが、ご対応のほど、よろしくお願いします。

【スタックトレース】
org.seasar.framework.exception.ParseRuntimeException: [ESSR0050]解析に失敗しました。理由はjava.text.ParseException: Unparseable date: "1970/01/01 10:00:00"
at 
org.seasar.framework.util.DateConversionUtil.toDate(DateConversionUtil.java:97)
at 
org.seasar.framework.util.DateConversionUtil.toDate(DateConversionUtil.java:80)
at 
org.seasar.framework.util.DateConversionUtil.toDate(DateConversionUtil.java:62)
at org.seasar.extension.jdbc.types.DateTimeType.toDate(DateTimeType.java:64)
at org.seasar.extension.jdbc.types.DateTimeType.toTime(DateTimeType.java:70)
at org.seasar.extension.jdbc.types.TimeType.toText(TimeType.java:95)
at 
org.seasar.extension.jdbc.util.BindVariableUtil.getBindVariableText(BindVariableUtil.java:155)
at 
org.seasar.extension.jdbc.util.BindVariableUtil.getCompleteSql(BindVariableUtil.java:103)
at 
org.seasar.extension.jdbc.query.AbstractQuery.logSql(AbstractQuery.java:165)
at 
org.seasar.extension.jdbc.query.AbstractSelect.getResultList(AbstractSelect.java:170)
at 
org.seasar.extension.jdbc.service.S2AbstractService.findByCondition(S2AbstractService.java:118)
at 
xxx.aaaService$$EnhancedByS2AOP$$19c4091.$$findByCondition$$invokeSuperMethod$$(aaaService$$EnhancedByS2AOP$$19c4091.java)
at 
xxx.aaaService$$EnhancedByS2AOP$$19c4091$$MethodInvocation$$findByCondition9.proceed(MethodInvocationClassGenerator.java)
at 
org.seasar.framework.aop.interceptors.TraceInterceptor.invoke(TraceInterceptor.java:73)
at 
xxx.aaaService$$EnhancedByS2AOP$$19c4091$$MethodInvocation$$findByCondition9.proceed(MethodInvocationClassGenerator.java)
at 
xxx.aaaService$$EnhancedByS2AOP$$19c4091.findByCondition(aaaService$$EnhancedByS2AOP$$19c4091.java)
at xxx.aaaServiceTest.testFindTx(aaaServiceTest.java:178)
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:597)
at 
org.seasar.framework.unit.S2TestMethodRunner.executeMethodBody(S2TestMethodRunner.java:678)
at 
org.seasar.framework.unit.S2TestMethodRunner.executeMethod(S2TestMethodRunner.java:653)
at 
org.seasar.framework.unit.S2TestMethodRunner.runTest(S2TestMethodRunner.java:618)
at 
org.seasar.framework.unit.S2TestMethodRunner.runMethod(S2TestMethodRunner.java:256)
at 
org.seasar.framework.unit.S2TestMethodRunner.run(S2TestMethodRunner.java:172)
at 
org.seasar.framework.unit.S2TestClassMethodsRunner.invokeTestMethod(S2TestClassMethodsRunner.java:227)
at 
org.seasar.framework.unit.S2TestClassMethodsRunner.run(S2TestClassMethodsRunner.java:89)
at 
org.seasar.framework.unit.S2TestClassRunner.run(S2TestClassRunner.java:67)
at org.seasar.framework.unit.Seasar2.run(Seasar2.java:168)
at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
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)
Caused by: java.text.ParseException: Unparseable date: "1970/01/01 10:00:00"
at java.text.DateFormat.parse(DateFormat.java:337)
at 
org.seasar.framework.util.DateConversionUtil.toDate(DateConversionUtil.java:95)
... 35 more




> 小林 (koichik) です.
>
> Date:    Tue, 2 Jun 2009 03:35:14 +0900
> From:    "UmedaYoshikazu" <[E-MAIL ADDRESS DELETED]>
> To:      <[E-MAIL ADDRESS DELETED]>
> Subject: [Seasar-user:17583] Re: [S2JDBC] 時制を指定したプロパティを検索条件とした場合の動作について
>
>> 本日、試す機会があったので、2.4.38にアップデートしてみましたが、うまく動作しませんでした。
>> 以下にログを貼り付けます。
>> Beans.createAndCopyの結果には、正しい時間が入るようになりましたが、
>> 自動生成されたSQLの時間は、以前と同じ「00:00:00」のままでした。
>
> 申し訳ありません,S2BeanUtils 側を修正したのですが,
> S2JDBC 側にも対応が必要でした.
>
> 元々 2.4.30 までは,S2BeanUtils は (デフォルトでは)
> java.util.Date は変換されずにそのまま BeanMap に
> コピーされていたのですが,2.4.31 からは文字列に
> 変換されるようになり ([CONTAINER-272]),その際の
> フォーマットが時刻を含まない日付のみとなっていました.
>
> それを 2.4.38 で日付と時刻を含むフォーマットを
> 使うように修正したのですが ([CONTAINER-370]),
> S2JDBC で文字列から java.util.Date に戻す際の
> フォーマットがやはり日付のみのフォーマットに
> なっていたので時刻が失われていました.
>
> 修正して SNAPSHOT をデプロイしたのでご確認ください.
>
> http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-framework/2.4.39-SNAPSHOT/s2-framework-2.4.39-20090601.202417-1.jar
> http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-extension/2.4.39-SNAPSHOT/s2-extension-2.4.39-20090601.202417-1.jar
> http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-tiger/2.4.39-SNAPSHOT/s2-tiger-2.4.39-20090601.202948-1.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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user 



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