docs: public static void genId(Object target, String property, Class<? extends GenId> genClass, String table, String column) throws MapperException {
          try {
              GenId genId;
              if (CACHE.containsKey(genClass)) {
                  genId = CACHE.get(genClass);
              } else {
                  LOCK.lock();
                  try {
                      if (!CACHE.containsKey(genClass)) {
                          CACHE.put(genClass, genClass.newInstance());
                      }
                      genId = CACHE.get(genClass);
                  } finally {
                      LOCK.unlock();
                  }
              }
              MetaObject metaObject = MetaObjectUtil.forObject(target);
              if (metaObject.getValue(property) == null) {
                  Object id = genId.genId(table, column);
                  metaObject.setValue(property, id);
              }
          } catch (Exception e) {
              throw new MapperException("生成 ID 失败!", e);
          }
      }