gpt4 book ai didi

java - Spring Data JDBC是否支持自定义类型转换器

转载 作者:搜寻专家 更新时间:2023-10-31 19:59:30 25 4
gpt4 key购买 nike

我有一个实体,它有一个 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

当我调用存储库的任何默认 findByIdfindAll 方法时,我得到:ConverterNotFoundException:找不到能够从类型 [oracle.sql.TIMESTAMPTZ] 转换为类型 [java.util.Date] 的转换器

我可以为该类型创建自定义 RowMapper,它会正常工作。我只是想知道是否可以注册自定义转换器(在我的例子中是从 oracle.sql.TIMESTAMPTZjava.util.Date)所以仍然可以从默认设置中受益在整个应用程序中映射和使用转换器。

最佳答案

您可以通过从 JdbcConfiguration 继承您的配置来注册自定义转换(Spring Data JDBC v1.x) 或 AbstractJdbcConfiguration (v2.x)。然后覆盖方法jdbcCustomConversions() .

JdbcCustomConversionsConverter 列表作为参数。

关于java - Spring Data JDBC是否支持自定义类型转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53120420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com