If someone really does want to do a huge INSERT and get the generated values back in increments, it might be clearer to write an explicit INSERT RETURNING and issue it with executeQuery, where everything will work as expected.
For PostgreSQL this is even moreso (i.e, huge means count > 1) since the order of rows in the returning clause is not promised to be related to the order of the rows as seen in the supplied insert command. A manual insert returning should ask for not only any auto-generated column but also the set of columns that provide the unique natural key.