我正在尝试将我的 Spring Boot 从 2.7.X 升级到 3.2.X。但以下代码无法编译。
@jakarta.persistence.Entity
public class Order {
...
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTime")//can't resolve method type
private DateTime createdOn;
}
Hibernate 6.4.X 支持 Joda
DateTime
吗?如果是的话,如何迁移上面的代码?
以下是Joda-Time主页上的通知:
请注意,从 Java SE 8 开始,用户被要求迁移到
(JSR-310) - JDK 的核心部分,它将取代它 项目。java.time
java.time
作为 Java 8 的一部分于 2024 年 3 月(十年前)发布。从那时起,强烈建议从旧版 java.time
API 和 Joda-Time API 切换到 java.util
API。
我建议您将代码更改为
java.time
API,如下所示:
@Type(type="org.hibernate.type.ZonedDateTimeType")
private java.time.ZonedDateTime createdOn;
下面给出的是它的 Maven 依赖项:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-java8</artifactId>
<version>5.6.15.Final</version>
</dependency>
删除 Joda-Time 和 Jadira 的所有 Maven 依赖项。
这里是Joda-Time的创建者和
java.time
API架构师撰写的文章。
了解现代日期时间 API