从Oracle到Java获取生成的密钥
我有一行适用于SqlServer的代码,不知道这是否适用于Oracle。我的问题是:从Oracle到Java获取生成的密钥,java,oracle,Java,Oracle,我有一行适用于SqlServer的代码,不知道这是否适用于Oracle。我的问题是: INSERT INTO event_master (event_id, user_id, type, detail, status, update_timestamp) VALUES (event_master_id_seq.nextval, :user_id, :type, :detail, :status, :update_timestamp) 这是我的代码: MapSqlParamete
INSERT INTO event_master (event_id, user_id, type, detail, status, update_timestamp)
VALUES (event_master_id_seq.nextval, :user_id, :type, :detail, :status, :update_timestamp)
这是我的代码:
MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("user_id", event.getActionAccount().getUser().getId());
parameters.addValue("type", event.getType());
parameters.addValue("detail", event.getDetail());
parameters.addValue("status", event.getStatus());
parameters.addValue("update_timestamp", new java.sql.Timestamp(Instant.now().toEpochMilli()));
long eventId = jdbcTemplate.queryForObject(insertEventMaster, parameters, Long.class);
return eventId;
event\u id
是主键,当此代码运行并插入数据库时,我需要此生成的事件id。我找到了其他方法,但我想看看这是否可行。我现在的环境无法在本地进行测试。Oracle的哪个版本?您使用的JDBC驱动程序/版本是什么?请回答您的问题并添加该信息,并为Oracle版本添加一个标记,例如oracle12c
,这应该可以满足您的需要