我有一个基于 MySQL 开发的应用程序,它通过 Hibernate 连接。我使用 DAO 实用程序代码来查询数据库。现在我需要通过索引优化我的数据库查询。我的问题是,如何通过 Hibernate DAO 实用程序代码查询数据,并确保在执行查询时在 MySQL 数据库中使用索引。对现有示例的任何提示或指针表示赞赏!
更新:只是想让这个问题更容易理解。以下是我用来通过 Hibernate DAO 实用程序代码查询 MySQL 数据库的代码。我在这里没有直接使用 HQL。对最佳解决方案有什么建议吗?如果需要,我会重写数据库查询代码,直接使用 HQL。
public static List<Measurements> getMeasurementsList(String physicalId, String startdate, String enddate) {
List<Measurements> listOfMeasurements = new ArrayList<Measurements>();
Timestamp queryStartDate = toTimestamp(startdate);
Timestamp queryEndDate = toTimestamp(enddate);
MeasurementsDAO measurementsDAO = new MeasurementsDAO();
PhysicalLocationDAO physicalLocationDAO = new PhysicalLocationDAO();
short id = Short.parseShort(physicalId);
List physicalLocationList = physicalLocationDAO.findByProperty("physicalId", id);
Iterator ite = physicalLocationList.iterator();
while(ite.hasNext()) {
PhysicalLocation physicalLocation = (PhysicalLocation)ite.next();
List measurementsList = measurementsDAO.findByProperty("physicalLocation", physicalLocation);
Iterator jte = measurementsList.iterator();
while(jte.hasNext()){
Measurements measurements = (Measurements)jte.next();
if(measurements.getMeasTstime().after(queryStartDate)
&& measurements.getMeasTstime().before(queryEndDate)) {
listOfMeasurements.add(measurements);
}
}
}
return listOfMeasurements;
}