JPA: Как преобразовать LocalDateTime в LocalDate
Как я могу использовать @NamedQuery, чтобы получить столбец как тип LocalDate, который определен как тип LocalDateTime. Как мне это сделать?
1 ответ
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.now();
LocalTime time = LocalTime.now();
LocalDateTime dateTimeFromDateAndTime = LocalDateTime.of(date, time);
System.out.println(dateTimeFromDateAndTime);
LocalDate dateFromDateTime = LocalDateTime.now().toLocalDate();
LocalTime timeFromDateTime = LocalDateTime.now().toLocalTime();
System.out.println(dateFromDateTime);
System.out.println(timeFromDateTime);
}
}
Я предполагаю, что a column which is defined LocalDateTime type
Вы объявили объект с полем LocalDateTime.
Если вы хотите сделать преобразование даты в базе данных, я думаю, вам придется использовать собственный запрос. Если вы не против сделать преобразование в Java, я вижу два варианта:
- Добавление конвертера в поле вашей сущности, чтобы он мог быть LocalDate, связывающим временную метку ( https://docs.oracle.com/javaee/7/api/javax/persistence/Convert.html)
- Добавление метода получения @Transient, чтобы вы могли выполнить преобразование в классе сущностей.