Je hebt besloten om JDBCTemplate waarschijnlijk te gebruiken om de code te vereenvoudigen in vergelijking met gewone JDBC .
Dit specifieke probleem maakt IMHO de duidelijke JDBC oplossing zoals voorgesteld in ander antwoord veel eenvoudiger, dus ik zou zeker aanraden om de databaseverbinding van JDBCTemplate te halen en de invoeging op een JDBC-manier te maken.
De eenvoudigste oplossing met JDBCTemplate die bij mij opkomt, is om de bijlage in een PROCEDURE
te wikkelen en retourneer de tijdstempel als een OUT
parameter.
Eenvoudig voorbeeld (Pas de tijdlogica aan zoals vereist)
create procedure insert_with_return_time (p_str VARCHAR2, p_time OUT DATE) as
BEGIN
insert into identity_pk(pad) values(p_str);
p_time := sysdate;
END;
/
De oproep wordt gedaan met behulp van SimpleJdbcCall
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate).withProcedureName("insert_with_return_time");
SqlParameterSource params = new MapSqlParameterSource().addValue("p_str", str);
Map<String, Object> out = jdbcCall.execute(params);
De Map
bevat de geretourneerde waarde, b.v. [P_TIME:2019-10-19 11:58:10.0]
Maar ik kan alleen maar herhalen, in dit specifieke geval is IMHO JDBC een redding van JDBCTemplate;)