連結する代わりにHQLパラメータを使用する必要があります。
この例を見てください:
Map<String, Object> parameterNameAndValues = new HashMap<String, Object>();
Date startDate;
Date endDate;
// Assign values to startDate and endDate
parameterNameAndValues.put("startDate", startDate);
parameterNameAndValues.put("endDate", endDate);
String hqlQuery = "FROM EntityName WHERE fechaInicio BETWEEN :startDate AND :endDate";
Query query = this.sessionFactory.getCurrentSession().createQuery(hqlQuery);
for (Entry<String, Object> e : parameterNameAndValues.entrySet()) {
query.setParameter(e.getKey(), e.getValue());
}
return query.list();
これにより、日付パラメーターがバインドされ、休止状態により、健全性チェックとエラーを回避するために必要な変換が行われます。 MySQLがその形式でDateオブジェクトを保存したとしても、他のデータベースは保存しない可能性があり、Hibernateのヘルプを損なうことに注意してください。