2016-01-22 3 views
2

Существует closed ticket, предполагающий, что Ebean 4.4.1 и далее поддерживает классы времени Java 8, такие как OffsetDateTime. Однако я не могу найти документацию Ebean, показывающую использование этих классов.Поддерживает ли EBean (4.5.x) сопоставление типов времени Java 8, таких как OffsetDateTime

Для класса, такого как 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 
} 
+0

- это да. –

ответ

4

Там нет Docs для этих новых типов, но код очень прост и понятен:

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: «он полностью поддерживает использование OffsetDateTime вместо java.sql.Timestamp»

| 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  |