У меня есть объект, который имеет поле типа java.util.Date
(или Timestamp
, для дела не имеет значения).
public class StatusReason {
@Column("SRN_ID")
private Long id;
@Column("SRN_CREATOR")
private String creator;
@Column("SRN_REASON")
private String reason;
@Column("SRN_STATUS")
private String status;
@Column("SRN_TIMESTAMP")
private Date timestamp;
//getters, setters, etc...
}
База данных Oracle и соответствующий столбец типа TIMESTAMP(6) WITH TIME ZONE
Когда я вызываю любой из стандартных методов findById
или findAll
хранилища, я получаю:
ConverterNotFoundException: No converter found capable of converting from type [oracle.sql.TIMESTAMPTZ] to type [java.util.Date]
.
Я могу создать пользовательский RowMapper
для типа, и он будет работать нормально.
Мне было просто интересно, можно ли зарегистрировать пользовательский конвертер (в моем случае от oracle.sql.TIMESTAMPTZ
до java.util.Date
), так что он все еще может извлечь выгоду из сопоставления по умолчанию и использовать конвертер во всем приложении.