code: public <RH extends CheckedConsumer<? super T>> RH read(final Collection<K> keys, final RH consumer) throws SQLException {
          transactionTemplate
              .doInTransaction(new SQLFunction<Connection, Object>() {
                  @Override
                  public Object apply(Connection connection) throws SQLException {
                      delegate.read(connection, keys, consumer);
                      return null;
                  }
              });
          return consumer;
      }
docs: retrieve the objects with the specified keys and pass them to the consumer.
  
  @param keys       the keys
  @param consumer the handler that is callback for each row
  @throws SQLException if an error occurs