JPA:如何将LocalDateTime转换为LocalDate



我如何使用@NamedQuery获取一个列作为LocalDate类型,该类型定义为LocalDateTime类型。我该怎么做?

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 getter,以便您可以在实体类中进行转换

最新更新