EBean(4.5.x)是否支持OffsetDateTime等映射Java8的时间类型
Does EBean (4.5.x) support mapping Java 8's time types such as OffsetDateTime
有一个 closed ticket 暗示 Ebean 4.4.1 及以上版本支持 Java 8 的时间 classes,例如 OffsetDateTime。但是,我找不到任何显示使用这些 classes.
的 Ebean 文档
对于 class 如下所示 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
}
这些新类型没有文档,但代码非常简单明了:
如您在代码中所见,OffsetDateTime
映射到 java.sql.Timestamp
。这是 Ebean 如何将 java.time
类型映射到 java.sql.Types
的(可能)完整 table:
| 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 |
有一个 closed ticket 暗示 Ebean 4.4.1 及以上版本支持 Java 8 的时间 classes,例如 OffsetDateTime。但是,我找不到任何显示使用这些 classes.
的 Ebean 文档对于 class 如下所示 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
}
这些新类型没有文档,但代码非常简单明了:
如您在代码中所见,OffsetDateTime
映射到 java.sql.Timestamp
。这是 Ebean 如何将 java.time
类型映射到 java.sql.Types
的(可能)完整 table:
| 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 |