[Seasar-user:17972] Re: S2Dao 1.0.50 で Date型を使用した検索の不具合

Hiroyuki Oonaka [E-MAIL ADDRESS DELETED]
2009年 7月 10日 (金) 19:28:45 JST


大中(せと)です。

On Thu, 09 Jul 2009 12:27:46 +0900
"[E-MAIL ADDRESS DELETED]" <[E-MAIL ADDRESS DELETED]> wrote:

> 中途半端な自己解決の報告です。
> 検索は出来る様に成りました。
> >	cal.set(Calendar.YEAR, 1977);
> >	cal.set(Calendar.MONTH, Calendar.OCTOBER);
> >	cal.set(Calendar.DAY_OF_MONTH, 14);
>  ここを cal.set(1977, Calendar.OCTOBER, 14, 0, 0, 0); に変更したら上手
> く取得できました。
>  どこかで時分秒?を見ているのでしょうか?分かりませんが・・・とりあえず
> 取得は出来る様に成りました。
>  ちなみに cal.set(1977, Calendar.OCTOBER, 14); でやると失敗します。
> 

S2Dao(というよりSeasar2)はSQL実行時にjava.util.Dateをjava.sql.Timestampに
マップするので、そこの過程で時分秒が入っているのだと思います。
対応としては

(1)時分秒に0を入れる(上記の方法)
(2)betweenを使う
(3)java.sql.Dateを使う

のいずれかだと思います。



-- 
大中浩行(せとあずさ)
[E-MAIL ADDRESS DELETED]
http://www.fieldnotes.jp/d/



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