背景
使用mysql-plus操作oracle,查询结果返回list对象集合。这个类使用lombok的
@Data
和@Builder
注解修饰。然后再将结果集转为list集合时就报错,错误大概如下:
org.springframework.jdbc.UncategorizedSQLException: Error attempting to get column 'SN' from result set. Cause: java.sql.SQLException: 无法转换为内部表示; uncategorized SQLException; SQL state [99999]; error code [17059]; 无法转换为内部表示; nested exception is java.sql.SQLException: 无法转换为内部表示
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)
通过猜想可能由于默认的构造函数没有导致上述问题,于是手动添加注解@NoArgsConstructor
,结果报错,没办法,再加上注解@AllArgsConstructor
, OK了。再测试,结果集转list集合也OK了。
总结:
java
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
如果有@Builder注解,要四个注解一起使用。
原因分析
有人已经分析好了,去查看