2

TrainSeatテーブルに日付列があります。where句を使用してデータを取得したい。where句では、日付条件を指定します。

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 に答える