Hi,

I have table like this:
Code:
create table test(x varchar(128), y int, primary key(x))
on derby and on oracle.
Now I am inserting some data with SimpleJdbcInsert:

Code:
HashMap<String, Object> map;
map = new HashMap<String, Object>();
map.put("x", "6");
map.put("y", 6);
insert.execute(map);

map = new HashMap<String, Object>();
map.put("x", "4");
insert.execute(map);
On oracle and derby EmbeddedDriver it is ok. But on derby ClientDriver it throws exception on second execute().
Is it bug? Derby driver or spring?

And one more:
In org.springframework.jdbc.core.metadata.TableMetaDa taContext.matchInParameterValuesWithInsertColumns( Map<String, Object> inParameters)
there is:
Code:
for (String key : inParameters.keySet()) {
source.put(key.toLowerCase(), inParameters.get(key));
}
My question is: why? Wouldn't it be better:

Code:
for (Entry e: inParameters.entrySet()) {
source.put(e.getKey().toLowerCase(), e.getValue());
}