Query q = session.createQuery("from FinancialTransactions where ft_TYPE='"+ftTYPE+"' Date between '"+beginDate+"' and '"+endDate+"'");
上述查询有什么问题?它给出了错误
答案 0 :(得分:2)
您错过了and
,此处Date
是关键字
更改
where ft_TYPE='"+ftTYPE+"' Date between
到
where ft_TYPE='"+ftTYPE+"' and Date between
在各种条件之间,您需要使用AND
答案 1 :(得分:0)
如果你使用占位符,很明显你错过了and
,同时假设beginDate
和endDate
是日期,它可能会在解析它们时遇到问题。
更好(并且不容易进行HQL注入)将是:
Query q = session.createQuery(
"from FinancialTransactions " +
"where ft_TYPE=? " +
"and Date between ? and ?");
q.setString(1, ftType);
q.setDate(2, startDate);
q.setDate(3, endDate);