gpt4 book ai didi

java - EBean (4.5.x) 是否支持映射 Java 8 的时间类型,例如 OffsetDateTime

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:42:02 26 4
gpt4 key购买 nike

有一个closed ticket建议 Ebean 4.4.1 及更高版本支持 Java 8 的时间类,例如 OffsetDateTime。但是,我找不到任何显示如何使用这些类的 Ebean 文档。

对于如下所示的 AppUser 类,是否完全支持使用 OffsetDateTime 而不是 java.sql.Timestamp

@Entity
public class AppUser extends Model {

@Id
private Long id;
private String username;
private OffsetDateTime lastSeen;

// Constructor, getters and setters
}

最佳答案

这些新类型没有文档,但代码非常简单明了:

https://github.com/ebean-orm/avaje-ebeanorm/blob/master/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeOffsetDateTime.java

正如您在代码中看到的,OffsetDateTime 被映射到 java.sql.Timestamp。这是一个(可能)完整的表格,说明 Ebean 如何将 java.time 类型映射到 java.sql.Types:

| Java 8 java.time.*               | java.sql.Types |
|:---------------------------------|:---------------|
| DayOfWeek | INTEGER |
| Duration | BIGINT |
| Duration (with nanos precision) | DECIMAL |
| Instant | TIMESTAMP |
| LocalDate | DATE |
| LocalDateTime | TIMESTAMP |
| LocalTime | TIME |
| LocalTime (with nanos precision) | BIGINT |
| Month | INTEGER |
| MonthDay | DATE |
| OffsetDateTime | TIMESTAMP |
| OffsetTime | VARCHAR |
| Year | INTEGER |
| YearMonth | DATE |
| ZoneId | VARCHAR |
| ZoneOffset | VARCHAR |
| ZonedDateTime | TIMESTAMP |

关于java - EBean (4.5.x) 是否支持映射 Java 8 的时间类型,例如 OffsetDateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34937866/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com