Telosys 时间戳生成日期问题(缺少纳秒精度)

时间:2021-01-06 07:32:40

标签: date jpa timestamp telosys

Telosys 生成这样的时间戳列:

@Temporal(TemporalType.TIMESTAMP)
@Column(name="AKT_TS")
private Date aktTs;

不幸的是 Date 只有毫秒精度,而不是纳秒(但数据库当然有)。 示例:

  • 日期(Java):2020-12-03T16:28:58.302+0000
  • 数据库:2020-12-03 17:28:58.302339

是否有一种简单的方法可以强制 telosys 生成 LocalDateTime(或 java.sql.Timestamp),以便可以使用整个精度?

1 个答案:

答案 0 :(得分:2)

在模型实体文件中使用 'timestamp' 类型和 '@SqlType'

如果可能,'@SqlType' 切换到 'java.sql.*' 类型(时间、时间戳、Blob 等)

示例:

实体文件:

 fieldName : timestamp { @SqlType } ;

生成的代码:

  @Column(name="fieldName")
  private Timestamp  fieldName    ;