Mit PostgreSQL können Sie dies über das RETURNING-Schlüsselwort tun:
PostgresSQL - RETURNING
INSERT INTO mytable( field_1, field_2,... )
VALUES ( value_1, value_2 ) RETURNING anyfield
Es wird den Wert von "anyfield" zurückgeben. "anyfield" kann eine Sequenz sein oder nicht.
Um es mit JDBC zu verwenden, tun Sie:
ResultSet rs = statement.executeQuery("INSERT ... RETURNING ID");
rs.next();
rs.getInt(1);