Mit Spring ' s KeyHolder-mit programmtechnisch erzeugten Primärschlüssel

Ich bin mit Spring NamedParameterJdbcTemplate zum ausführen einer insert in eine Tabelle. Die Tabelle verwendet eine NEXTVAL auf eine Sequenz zu erhalten, die die Primärschlüssel. Dann möchte ich diese generierte ID, die übergeben werden, zu mir zurück. Ich bin mit Spring ' s KeyHolder-Implementierung wie diese:

KeyHolder key = new GeneratedKeyHolder();
jdbcTemplate.update(Constants.INSERT_ORDER_STATEMENT, params, key);

Allerdings, wenn ich diese Anweisung ausführen, ich erhalte:

org.springframework.dao.DataRetrievalFailureException: The generated key is not of a supported numeric type. Unable to cast [oracle.sql.ROWID] to [java.lang.Number]
    at org.springframework.jdbc.support.GeneratedKeyHolder.getKey(GeneratedKeyHolder.java:73)

Irgendwelche Ideen, was ich bin fehlt?

InformationsquelleAutor sma | 2010-05-12
Schreibe einen Kommentar