Jeśli framework nie zostanie poinformowany o tym, która kolumna jest kluczem, zwróci wszystkie kolumny tabeli jako klucze.
Możesz o tym poinformować, przekazując nowy parametr do metody aktualizacji w następujący sposób:
template.update(query, data, keyHolder, new String[] { "id" });
Zobacz NamedParameterJdbc update(sql, paramSource, generatedKeyHolder, keyColumnNames)