Как преобразовать java.sql.Date
, возвращенный из базы данных JDBC, в java.time.LocalDateTime
?Преобразование java.sql.date в java.time.LocalDateTime
ответ
Это было на самом деле проще, чем я думал. Это работает для меня: result.getTimestamp("value").toLocalDateTime()
Это правдоподобный ответ и правильный для <= Java 7, но вы можете пропустить преобразования, используя библиотеку 'hibernate-java8'. Может быть, сейчас лучше. –
Если вы используете Java 8 и Hibernate 5 нет необходимости в преобразовании из/в java.sql.Date, доверять только на магии Java.
Зависимости вы должны использовать это:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-java8</artifactId>
<version>5.1.0.Final</version>
</dependency>
В случае, если вы используете пружинные загрузки нет необходимости объявить любую дополнительную зависимость.
Если вы используете предыдущую версию Java рекомендация определить конвертер, как этот:
@Converter(autoApply = true)
public class LocalDateAttributeConverter implements AttributeConverter<LocalDate, Date> {
@Override
public Date convertToDatabaseColumn(LocalDate locDate) {
return (locDate == null ? null : Date.valueOf(locDate));
}
@Override
public LocalDate convertToEntityAttribute(Date sqlDate) {
return (sqlDate == null ? null : sqlDate.toLocalDate());
}
}
Вы можете нашли больше об использовании LocalDateTime в Java 8 в этом link, и больше о такого рода преобразователи на этом link.
- 1. Преобразование java.util.Date в java.sql.Date
- 2. преобразование java.util.date в java.sql.date
- 3. Преобразование Joda LocalTime в java.sql.Date
- 4. Преобразование java.util.Date в java.time.LocalDateTime с помощью ZoneId.systemDefault()
- 5. Преобразование java.sql.Date & java.util.Date to org.joda.time.LocalDate
- 6. Преобразование даты строку в формате java.sql.Date
- 7. Преобразование строки в java.sql.Date и java.sql.Time
- 8. Преобразование java.util.Date в java.sql.Date усекает временную часть
- 9. Невозможно найти соответствующий конструктор в классе [java.time.LocalDateTime]. Ожидаемые аргументы: java.time.LocalDateTime
- 10. Как преобразовать java.util.Date в java.sql.Date?
- 11. DynamoDBMapper для java.time.LocalDateTime
- 12. Spring java.time.LocalDateTime binding issue
- 13. Преобразование joda.time.DateTime в java.sql.Date и сохранить часовой пояс
- 14. Преобразование строки формата java.sql.Date в строку формата java.util.Date
- 15. java.sql.Date форматирования
- 16. конвертировать java.sql.Timestamp в java.sql.Date
- 17. Показать java.time.LocalDateTime с помощью jstl
- 18. @XmlJavaTypeAdapter vs @XmlSchemaType с java.time.LocalDateTime
- 19. Как конфертировать из java.sql.Date в ZonedDateTime
- 20. Как добавить дни в java.sql.date?
- 21. java.sql.Date не вставлен в DataTables
- 22. конвертировать строку date в java.sql.Date
- 23. Ошибка сохранения java.sql.Date в MongoDB
- 24. Ошибка инициализации java.sql.Date
- 25. Как отформатировать этот java.sql.date?
- 26. Convert java.sql.Date to java.sql.Timestamp
- 27. java.sql.Date принимает неправильную дату
- 28. String to java.sql.Date
- 29. Спарк Dataset и java.sql.Date
- 30. java.lang.NoSuchMethodException:. Java.sql.Date (java.lang.String)
Возможный дубликат [Преобразование между LocalDate и sql.Date] (http://stackoverflow.com/questions/29750861/convert-between-localdate-and-sql-date) – BackSlash
Я уже рассмотрел этот вопрос. Но я пытаюсь преобразовать sql.Date в LocalDateTime, а не в LocalDate. – Ferre12
Тогда ответ, связанный с @nobody, может помочь (дублировать): [Преобразование между java.time.LocalDateTime и java.util.Date] (http://stackoverflow.com/questions/19431234/converting-between-java-time- LocalDateTime-и-ява-Util-дата). 'java.sql.Date' является подклассом' java.util.Date', поэтому вы можете его использовать. – BackSlash