sql >> Database >  >> RDS >> PostgreSQL

JOOQ gedwongen type code generatie

De <name/> element van uw <customType/> moet verwijzen naar de <U> type (gebruikerstype) van uw Converter<T, U> , niet naar de <T> type (databasetype). Dus als je dit schrijft:

<customTypes>
  <customType>
   <name>java.sql.Timestamp</name>
   <converter>com.plannow.jooq.converters.DateTimeConverter</converter>
  </customType>         
</customTypes>

Dan registreer je eigenlijk gewoon een Converter<Timestamp, Timestamp> . Probeer in plaats daarvan dit:

<customTypes>
  <customType>
   <name>org.joda.time.DateTime</name>
   <converter>com.plannow.jooq.converters.DateTimeConverter</converter>
  </customType>         
</customTypes>

Merk op dat uw converter ook null correct moet verwerken waarden:

@Override
public DateTime from(Timestamp t)     {
    return t == null ? null : new DateTime(t);
}

@Override
public Timestamp to(DateTime u) {
    return u == null ? null : new Timestamp(u.getMillis());
}



  1. Hoe een postgres-tabel op naam indexeren, als de naam in elke taal kan zijn?

  2. De naam van de primaire sleutelbeperking voor meerdere tabellen in de SQL Server-database wijzigen - SQL Server / TSQL-zelfstudie, deel 64

  3. Werk waarden in Mysql-tijdstempel bij naar een datetime-waarde.

  4. Het minimaliseren van de impact van het verbreden van een IDENTITEIT-kolom - deel 1