あなたの質問を参照してください。あなたはステートメントを使用していると思います。この場合、使用できますStatement.RETURN_GENERATED_KEYS
。また、以下のソリューションでは Oracle データベースの競合が発生する可能性があるため、このリンクも考慮してください。
ここに小さな例があります:
Connection connection = database.getConnection();
PreparedStatement statement = connection.prepareStatement(myQuery, Statement.RETURN_GENERATED_KEYS);
int count = statement.executeUpdate();
if(count <= 0){
//value not inserted
}
ResultSet results = statement.getGeneratedKeys();
if(results.next){
System.out.println(generatedKeys.getLong(1));
}
ORM を使用している場合:
JPA entitiyManager.merge(entity);
(または更新) を使用している場合は、ID を持つ永続化されたインスタンスを返す必要があります。休止状態session.merge(entity);
(または更新)と非常に似ています