我在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]
答案 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();