Con PostgreSQL puede hacerlo a través de la palabra clave RETURNING:
PostgresSQL - REGRESANDO
INSERT INTO mytable( field_1, field_2,... )
VALUES ( value_1, value_2 ) RETURNING anyfield
Devolverá el valor de "anyfield". "anyfield" puede ser una secuencia o no.
Para usarlo con JDBC, haga:
ResultSet rs = statement.executeQuery("INSERT ... RETURNING ID");
rs.next();
rs.getInt(1);