[Seasar-user:18913] [S2JDBC]日付時刻の書式
岡部 央満
[E-MAIL ADDRESS DELETED]
2009年 11月 18日 (水) 21:20:17 JST
お世話になります。岡部と申します。
Entityクラスに、以下のようなTimestamp型のプロパティがあります。
@Column( length = 0, nullable = true )
public java.sql.Timestamp dateTime;
そしてServiceクラスで、以下のようなSQLを発行します。
SimpleWhere sw = new SimpleWhere().eq("dateTime", "2009/10/10 10:10:10");
jdbcManager.from(Entity.class).where(sw).getSingleResult();
ここで実際に発行されたSQLを見ると、
SELECT
T1_. ...
FROM
ENTITY T1_
WHERE
T1_.DATE_TIME = '2009-10-10 00:00:00'
のように、時刻が00:00:00に変換された状態で、SQLが発行されます。
ここで例えば、
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = sdf.parse("2009/10/10 10:10:10");
SimpleWhere sw = new SimpleWhere().eq("dateTime", date);
上記のようにバインド変数をDate型に変換すれば、日付はそのまま(10:10:10)で
SQLが発行されます。しかしプログラムの都合上、バインド変数はできれば
String型のままにしておきたいと考えています。
バインド変数はString型のままで、かつ、時刻が変換されないでSQLを発行する
いい方法はありますでしょうか?
もしご存知の方がいましたら、教えて頂けたらと思っております。
宜しくお願い致します。
Seasar-user メーリングリストの案内