Spring JDBCTemplate を使用していたときに非常によくある質問がありました。新しいデータ レコードをデータベースに挿入した後に ID 値を取得したいのですが、この ID 値は別の関連テーブルに参照されます。次の方法で挿入しようとしましたが、実際の一意の ID ではなく常に 1 を返します。(データベースはMySQLを使用しています)
public int insert(BasicModel entity) {
String insertIntoSql = QueryUtil.getInsertIntoSqlStatement(entity);
log.info("SQL Statement for inserting into: " + insertIntoSql);
return this.jdbcTemplate.update(insertIntoSql);
}