我找到了解决方案:
public class DefaultPostgresKeyServer{ private Session session; private Iterator<BigInteger> iter; private long batchSize; public DefaultPostgresKeyServer (Session sess, long batchFetchSize) { this.session=sess; batchSize = batchFetchSize; iter = Collections.<BigInteger>emptyList().iterator(); } @SuppressWarnings("unchecked") public Long getNextKey() { if ( ! iter.hasNext() ) { Query query = session.createSQLQuery( "SELECt nextval( 'mySchema.mySequence' ) FROM generate_series( 1, " + batchSize + " )" ); iter = (Iterator<BigInteger>) query.list().iterator(); } return iter.next().longValue() ; }}


