date子句中的日期--- org.hibernate.hql.internal.ast.QuerySyntaxException:意外令牌:Mar

时间:2013-03-25 07:39:51

标签: hibernate date token where clause

我在TrainSeat表中有日期列。我想使用where子句检索数据。在claue中,指定了日期条件。

Seats=(ArrayList<TrainSeat>)session.createQuery("from TrainSeat t where t.train.TrainNumber="+TrainNum+"and t.date="+date+"").list();

此处'date'是Date数据类型的实例

此语句提供以下错误

org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: Mar near line 1, column 80 [from org.irctc.admin.TrainSeat t where t.train.TrainNumber=11007and t.date=Wed Mar 27 00:00:00 IST 2013]

1 个答案:

答案 0 :(得分:2)

你的日期在那里转换为String。你可以在那里作为参数传递日期。

试试这个

String hql = "from TrainSeat t where t.train.TrainNumber=? and t.date=?";
List result = session.createQuery(hql)
.setString(0, TrainNum)
.setParameter(1,date)
.list();