【发布时间】:2020-07-21 10:01:23
【问题描述】:
我正在使用 Spring Boot 和 Hibernate:
@Entity
public class Flight extends AbstractEntity{
private Date dateOfDeparture;
private Timestamp estimatedDepartureTime;
我的控制器:(从 jsp.page 获取离开日期的离开日期是文本类型)
@RequestMapping("findFlights")
public String findFlight( @RequestParam("departureDate") String d3, ModelMap modelMap) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date d11 = null;
try {
d11 = df.parse(d3);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
java.sql.Date dateOfDeparture = new java.sql.Date(d11.getTime());
List<Flight> flights =
flightRepository.findFlightsByDate(dateOfDeparture);
modelMap.addAttribute("flights", flights);
return "displayFlights";
我的仓库:
@Query("from Flight where dateOfDeparture =:dateOfDeparture")
List<Flight> findFlightsByDate(@Param("dateOfDeparture") Date departureDate);
我没有得到任何结果。dateOfDeparture 的类型是 java.util.Date 还是 java.sql.Date
无法理解问题 感谢您的帮助
【问题讨论】:
-
你确定 d3 不为空?
-
我建议你不要使用
Date、Timestamp和SimpleDateFormat。所有这些类都设计得很糟糕并且早已过时(后者尤其是出了名的麻烦)。而是使用ZonedDateTime、DateTimeFormatter和/或来自java.time, the modern Java date and time API 的其他类。 -
您能正确缩进您的代码吗?您的 IDE 可以为您做到这一点。由于缩进不正确,我误读了您的代码。当误读您的代码时,很难正确地帮助您。