2

我在 TrainSeat 表中有日期列。我想使用 where 子句检索数据。在 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]
4

1 回答 1

2

您的日期正在那里转换为字符串。您可以在那里将日期作为参数传递。

像这样试试

String hql = "from TrainSeat t where t.train.TrainNumber=? and t.date=?";
List result = session.createQuery(hql)
.setString(0, TrainNum)
.setParameter(1,date)
.list();
于 2013-03-25T07:54:10.550 回答