[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 メーリングリストの案内