Я пытаюсь вызвать один из перегруженных методов query () в классе Spring 3.0 JdbcTemplate в Scala ...
val args: Array[Object] = new Array[Object](1)
args(0) = id
val results: List[MyObj] = jdbcTemplate.query(SQL_STRING, args, new MyJdbcStore.MyObjRowMapper)
... и я получаю трассировку стека, которая говорит: «перегруженный запрос значения метода с альтернативами». (MyObjRowMapper в приведенном выше фрагменте кода - это класс, определенный в сопутствующем объекте MyJdbcStore, который расширяет интерфейс Spring RowMapper.) «Альтернативами» являются три версии query (), которые имеют эти параметры соответственно:
java.lang.String, Array[java.lang.Object], org.springframework.jdbc.core.ResultSetExtractor
java.lang.String, org.springframework.jdbc.core.PreparedStatementSetter, org.springframework.jdbc.core.ResultSet
org.springframework.jdbc.core.PreparedStatementCreator, org.springframework.jdbc.core.PreparedStatementSetter, org.springframework.jdbc.core.ResultSetExtractor
Несмотря на то, что я явно определил тип возвращаемого значения переменной результатов, почему компилятор не может определить, какой метод запроса вызывать?