Я впервые пытаюсь использовать Guava, и я считаю, что это действительно потрясающе.
Я выполняю несколько параметризованных запросов на получение в шаблоне Spring jdbc. Метод в DAO (AbstractDataAccessObject
) выглядит следующим образом. Здесь нет проблем.
public Map<String,Object> getResultAsMap(String sql, Map<String,Object> parameters) {
try {
return jdbcTemplate.queryForMap(sql, parameters);
} catch (EmptyResultDataAccessException e) {
//Ignore if no data found for this query
logger.error(e.getMessage(), e);
}
return null;
}
Здесь проблема:
Когда я вызываю этот метод, используя
getResultAsMap(query, new HashMap<String,Object>(ImmutableMap.of("gciList",gciList)));
он отлично работает.
Но когда я это делаю,
getResultAsMap(query, Maps.newHashMap(ImmutableMap.of("gciList",gciList)));
компилятор расстраивается, говоря
The method getResultAsMap(String, Map<String,Object>) in the type AbstractDataAccessObject is not applicable for the arguments (String, HashMap<String,List<String>>)
Я делаю что-то неправильно или что может быть причиной этой жалобы?