【发布时间】:2016-02-26 09:59:49
【问题描述】:
我正在使用 Spring Boot 构建连接到 Oracle DB 的 REST 服务。我也在使用 Spring JDBC。
我有以下代码:
jdbcCall.declareParameters(new SqlParameter("P_IN", OracleTypes.VARCHAR));
jdbcCall.declareParameters(new SqlOutParameter("P_OUT", OracleTypes.CURSOR, new ClientMapper()));
MapSqlParameterSource in = new MapSqlParameterSource().addValue("P_IN", "123");
Map out = jdbcCall.execute(in);
Client client = (Client) out.get("P_OUT");
过程只返回一个结果,但是当我执行代码时,我得到以下错误:
java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.test.model.Client
在调试模式下,我可以看到 out.get("P_OUT")returns ArrayList 有 10 个对象,第一个是我的 Client 对象,其他设置为 null。
我很困惑,我做错了什么并且必须解决它?
【问题讨论】:
标签: java spring oracle jdbc spring-jdbc