Как уже говорили другие, это должно быть потому, что ваш TrackTime
конструктор ожидает аргументы типа LocalTime
, в то время как rs.getTime
возвращает java.sql.Time
.
Предполагая JDBC 4.2 (или выше; вы, вероятно, имеетечто), используйте getObject
для извлечения классов java.time, таких как LocalTime
, а также LocalDate
из вашего набора результатов:
return new TrackTime (rs.getInt("id"),
rs.getObject("date", LocalDate.class),
rs.getObject("startTime", LocalTime.class),
rs.getObject("endTime", LocalTime.class),
rs.getString("licenseType"),
rs.getInt("trackNumber"));
Я взял на себя свободу также изменять поиск даты,что, вероятно, даст вам новую ошибку во время компиляции.Но теперь, когда вы уже используете java.time, может быть лучше изменить конструктор TrackTime
так, чтобы он принимал LocalDate
?
Если ваш драйвер JDBC еще не совместим с JDBC 4.2, рассмотрите возможность обновления.