code: public T smartFetch(String str) {
          try {
              long id = Long.parseLong(str);
              return fetch(id);
          }
          catch (Exception e) {}
          return fetch(str);
      }
docs: 智能获取一个实体,如str能转为Long类型,则调用fetch(long id),否则调用fetch(String name)
  @param str 非空的字符串,可以是整数或普通字符串
  @return 符合条件的记录,如不存在则返回null