为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:centos
【CPU】:x86
【问题描述】*:用mybaits-plus查询时,返回对象里有个enum类型,返回映射时会调用ResultSet.getObject(String columnLabel, Class<T> type) ;然后达梦的驱动里面会报错,错误如下:
[ERROR - 2021-11-24 11:37:10] tid:86 - [http-nio-9002-exec-3] { conn-1, pstmt-62, rs-32 } getObject(String, Class); [PARAMS]: “EVENT_TYPE”, class java.lang.String;
dm.jdbc.driver.DMException: Not support this type
at dm.jdbc.driver.DBError.throwz(DBError.java:727)
at dm.jdbc.driver.DmdbResultSet.do_getObject(DmdbResultSet.java:1997)
at dm.jdbc.driver.DmdbResultSet.do_getObject(DmdbResultSet.java:2003)
at dm.jdbc.filter.FilterChain.ResultSet_getObject(FilterChain.java:8389)
at dm.jdbc.filter.log.LogFilter.ResultSet_getObject(LogFilter.java:10038)
at dm.jdbc.filter.FilterChain.ResultSet_getObject(FilterChain.java:8385)
at dm.jdbc.driver.DmdbResultSet.getObject(DmdbResultSet.java:5363)
at com.zaxxer.hikari.pool.HikariProxyResultSet.getObject(HikariProxyResultSet.java)
at com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler.getNullableResult(MybatisEnumTypeHandler.java:118)
at com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler.getNullableResult(MybatisEnumTypeHandler.java:49)
at org.apache.ibatis.type.BaseTypeHandler.getResult(BaseTypeHandler.java:85)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.applyAutomaticMappings(DefaultResultSetHandler.java:561)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getRowValue(DefaultResultSetHandler.java:403)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForSimpleResultMap(DefaultResultSetHandler.java:355)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValues(DefaultResultSetHandler.java:329)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSet(DefaultResultSetHandler.java:302)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSets(DefaultResultSetHandler.java:195)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)
查看源码发现达梦的驱动(版本:8.1.2.79)ResultSet.getObject(String columnLabel, Class<T> type) ;只支持LocalDateTime类型的class,之前我们用的mysql,它是支持String等一些类型的.目前有啥解决方案吗?
不是这个意思.
我们的实体类
@TableName(“sr_event”)
public class EventEntity implements Serializable {
private static final long serialVersionUID = -4118043085480598780L;
@TableId(
value = “id”,
type = IdType.AUTO
)
private Long id;
@TableField(
fill = FieldFill.INSERT
)
private Date createTime;
@TableField(
fill = FieldFill.INSERT_UPDATE
)
private Date updateTime;
private Long createUserId;
private Long updateUserId;
private EventTypeEnum eventType;
…
}
枚举类
public enum EventTypeEnum {
SYSTEM(“SYSTEM”),
CUSTOM(“CUSTOM”);
@EnumValue
private String value;
}
同样问题,楼主怎么解决的?
同样遇到了 怎么解决呢?
解决了嘛,大佬们是怎么解决的呀
https://eco.dameng.com/docs/zh-cn/app-dev/java-MyBatis-Plus-frame.html