Search code examples
datejpatimestamptelosys

Telosys Timestamp Generation Date problem (missing nanosecond precision)


Telosys generates timestamp columns like that:

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

Unfortunately Date does only have millisecond precision, not nanosecond (but the DB has of course). Example:

  • Date (Java): 2020-12-03T16:28:58.302+0000
  • DB: 2020-12-03 17:28:58.302339

Is there an easy way to force telosys to generate LocalDateTime (or java.sql.Timestamp), so that the whole precision can be used?


Solution

  • In the model entity file use the 'timestamp' type with '@SqlType'

    '@SqlType' switches to 'java.sql.*' types (Time, Timestamp, Blob, etc) if possible

    Example :

    Entity file :

     fieldName : timestamp { @SqlType } ;
    

    Generated code :

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