code: @Local
      @Override
      public <V> V directQuery(String sql, Function<ResultSet, V> handler) {
          final Connection conn = readPool.poll();
          try {
              if (logger.isLoggable(Level.FINEST)) logger.finest("direct query sql=" + sql);
              conn.setReadOnly(true);
              final Statement statement = conn.createStatement();
              //final PreparedStatement statement = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
              final ResultSet set = statement.executeQuery(sql);// ps.executeQuery();
              V rs = handler.apply(set);
              set.close();
              statement.close();
              return rs;
          } catch (Exception ex) {
              throw new RuntimeException(ex);
          } finally {
              if (conn != null) readPool.offerConnection(conn);
          }
      }
docs: 直接本地执行SQL语句进行查询，远程模式不可用   <br>
  通常用于复杂的关联查询   <br>
  
  @param <V>     泛型
  @param sql     SQL语句
  @param handler 回调函数
  
  @return 结果