Avec PostgreSQL vous pouvez le faire via le mot clé RETURNING :
PostgresSQL - RETOUR
INSERT INTO mytable( field_1, field_2,... )
VALUES ( value_1, value_2 ) RETURNING anyfield
Il renverra la valeur de "anyfield". "anyfield" peut être une séquence ou non.
Pour l'utiliser avec JDBC, faites :
ResultSet rs = statement.executeQuery("INSERT ... RETURNING ID");
rs.next();
rs.getInt(1);