注册

达梦数据库字段映射到entity的字段问题

谭俊 2024/12/03 438 1

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:windows
【CPU】:X86的
【问题描述】*:原先系统运行在mysql中,现在转了达梦数据库,使用的是spring boot hibernate jpa 方式,映射成entity的java对象中,报以下错误:
Caused by: dm.jdbc.driver.DMException: 无效的列类型
at dm.jdbc.driver.DBError.throwException(DBError.java:710) ~[DmJdbcDriver18-8.1.1.193.jar:- 8.1.1.193 - Production]
at dm.jdbc.convert.DB2J.toClob(DB2J.java:1295) ~[DmJdbcDriver18-8.1.1.193.jar:- 8.1.1.193 - Production]
at dm.jdbc.driver.DmdbResultSet.do_getClob(DmdbResultSet.java:965) ~[DmJdbcDriver18-8.1.1.193.jar:- 8.1.1.193 - Production]
at dm.jdbc.driver.DmdbResultSet.do_getClob(DmdbResultSet.java:1136) ~[DmJdbcDriver18-8.1.1.193.jar:- 8.1.1.193 - Production]
at dm.jdbc.driver.DmdbResultSet.getClob(DmdbResultSet.java:4123) ~[DmJdbcDriver18-8.1.1.193.jar:- 8.1.1.193 - Production]
at com.zaxxer.hikari.pool.HikariProxyResultSet.getClob(HikariProxyResultSet.java) ~[HikariCP-4.0.3.jar:?]

其中entity类里,有3个字段是JSON字段,数据库对应的是clob类型。
private JSONObject itemA;
private JSONObject itemB;
private JSONArray items;
@Type( type = "com.vladmihalcea.hibernate.type.json.JsonStringType")
@Column( columnDefinition = "json" )
public JSONArray getItems() {
return items;
}

public void setItems(JSONArray items) {
this.items = items;
}
目前发现,如果items在数据库中有值时,会报上述错误,初步判断时类型转换映射出问题,请问我应该如何修改我的代码。

回答 0
暂无回答
扫一扫
联系客服