<name/>
елемент от вашия <customType/>
трябва да препраща към <U>
тип (потребителски тип) на вашия Converter<T, U>
, а не към <T>
тип (тип база данни). Така че, ако напишете това:
<customTypes>
<customType>
<name>java.sql.Timestamp</name>
<converter>com.plannow.jooq.converters.DateTimeConverter</converter>
</customType>
</customTypes>
Тогава вие наистина просто регистрирате Converter<Timestamp, Timestamp>
. Опитайте това вместо това:
<customTypes>
<customType>
<name>org.joda.time.DateTime</name>
<converter>com.plannow.jooq.converters.DateTimeConverter</converter>
</customType>
</customTypes>
Обърнете внимание, че вашият конвертор също трябва правилно да обработва null
стойности:
@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());
}