Oracle JDBC驱动程序不支持getGeneratedKeys()
-您正在触发器中手动生成密钥,大概是从中生成的SEQUENCE
。
您可以使用Oracle的returning子句:
String query = "BEGIN INSERT INTO team (name) values (?) returning id into ?; END;";
CallableStatement cs = conn.prepareCall(query);
cs.setString(1, "cougars");
cs.registerOutParameter(2, OracleTypes.NUMBER);
cs.execute();
System.out.println(cs.getInt(2));
SELECT mysequence.CURRVAL FROM dual