Jak przekonwertować wartość java.sql.Date
zwróconą z bazy danych JDBC na java.time.LocalDateTime
?Konwertuj java.sql.date na java.time.LocalDateTime
Odpowiedz
To było naprawdę łatwiejsze niż myślałem. Ten pracował dla mnie: result.getTimestamp("value").toLocalDateTime()
Jest to wiarygodna odpowiedź i jest poprawna dla <= Java 7, ale można pominąć transformacje za pomocą biblioteki 'hibernate-java8'. Dziś może być lepsza droga. –
Jeśli używasz Java 8 i hibernacji 5 nie ma potrzeby konwersji do/z java.sql.Date, ufa tylko na magii Java.
Zależność trzeba użyć to:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-java8</artifactId>
<version>5.1.0.Final</version>
</dependency>
W przypadku korzystania wiosna-boot nie ma potrzeby deklarowania dodatkowego zależność.
Jeśli korzystasz ze starszej wersji Java zalecenie jest zdefiniowanie Converter jak ten:
@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());
}
}
można znaleźć więcej na temat wykorzystania LocalDateTime w Java 8 w tym link, a więcej o tego rodzaju konwertery na tym link.
- 1. Konwertuj java.time.LocalDateTime SE 8 na timestamp
- 2. Bezpiecznie konwertować Java.sql.date na Java.util.date przez rzutowanie?
- 3. Jak przekonwertować kalendarz na java.sql.Date w Javie?
- 4. LocalDateTime do java.sql.Date w java 8?
- 5. Pobierz aktualną datę w formacie java.sql.Date
- 6. Jak działa java.sql.Date z ujemnymi datami?
- 7. Konwertuj NA na poziom czynnika
- 8. Konwertuj CSS na HTML
- 9. Konwertuj obraz na XAML?
- 10. Konwertuj System.Windows.Media.Pen na System.Drawing.Pen
- 11. Konwertuj ciąg na LatLng
- 12. Konwertuj BytesIO na Plik
- 13. Konwertuj tablicę na JSON
- 14. Konwertuj klasę na rozszerzenie
- 15. Konwertuj wielokąt na trójkąty
- 16. Konwertuj datatable na datareader
- 17. Konwertuj Actionscript na JavaScript
- 18. Konwertuj system.data.linq.binary na bajt []
- 19. Konwertuj bajt [] na sbyte []
- 20. Konwertuj EntityReference na Entity
- 21. Konwertuj na wyliczenie
- 22. Konwertuj ciąg na SocketAddr
- 23. Konwertuj null na ciąg
- 24. Konwertuj Maildir na mbox
- 25. Konwertuj Char na Int
- 26. Konwertuj ciąg na wyrażenie?
- 27. Konwertuj VBScript na JavaScript
- 28. Konwertuj SVG na XAML
- 29. Konwertuj NSInteger na NSIndexpath
- 30. Konwertuj NSInteger na NSUInteger?
Możliwy duplikat [Konwersja między datą lokalną a datą sql.Data] (http://stackoverflow.com/questions/29750861/convert-between-localdate-and-sql-date) – BackSlash
Już obejrzałem to pytanie. Ale próbuję przekonwertować sql.Date na LocalDateTime, a nie LocalDate. – Ferre12
Następnie odpowiedź związana z @nobody może pomóc (duplikować): [Konwertowanie między java.time.LocalDateTime i java.util.Date] (http://stackoverflow.com/questions/19431234/converting-between-java-time- localdatetime-and-java-util-date). 'java.sql.Date' jest podklasą' java.util.Date', więc możesz ją rzucić. – BackSlash