Le <name/>
élément de votre <customType/>
doit se référer au <U>
type (type d'utilisateur) de votre Converter<T, U>
, pas au <T>
type (type de base de données). Donc, si vous écrivez ceci :
<customTypes>
<customType>
<name>java.sql.Timestamp</name>
<converter>com.plannow.jooq.converters.DateTimeConverter</converter>
</customType>
</customTypes>
Ensuite, vous êtes vraiment en train d'enregistrer un Converter<Timestamp, Timestamp>
. Essayez ceci à la place :
<customTypes>
<customType>
<name>org.joda.time.DateTime</name>
<converter>com.plannow.jooq.converters.DateTimeConverter</converter>
</customType>
</customTypes>
Notez que votre convertisseur doit également gérer correctement null
valeurs :
@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());
}