это мой код
private long saveTacoInfo(Taco taco) {
taco.setCreatedAt(new Date());
PreparedStatementCreator psc =
new PreparedStatementCreatorFactory(
"insert into Taco (name, createdAt) values (?, ?)",
Types.VARCHAR, Types.TIMESTAMP
).newPreparedStatementCreator(
Arrays.asList(
taco.getName(),
new Timestamp(taco.getCreatedAt().getTime())));
KeyHolder keyHolder = new GeneratedKeyHolder();
int res = jdbc.update(psc, keyHolder);
log.info("res " + res);
return keyHolder.getKey().longValue();
}
после отладки найдено keyHolder.getKey()
return null, потому что GeneratedKeyHolder
keyList пуст! есть предложения?
это моя таблица Taco sql:
create table if not exists Taco (
id identity,
name varchar(50) not null,
createdAt timestamp not null
);
статус Insert
выполняется нормально! База данных h2 содержит данные. но keyHolder.getKey
имеет значение null.