code: @SuppressWarnings("unchecked")
      public Entity<?> getEntityBy(Object obj) {
          // 正常的构建一个 Entity
          Object first = Lang.first(obj);
          // 对象为空，不能构建实体
          if (first == null)
              return null;
  
          // 这是一个 Map,试图构建一个 entity
          if (first instanceof Map<?, ?>) {
              Object tableName = ((Map<String, ?>) first).get(".table");
              if (null == tableName)
                  throw Lang.makeThrow("Can not insert map without key '.table' : \n%s",
                                       Json.toJson(first, JsonFormat.forLook()));
              return makeEntity(tableName.toString(), (Map<String, ?>) first);
          }
          // 作为 POJO 构建
          return getEntity(first.getClass());
      }
docs: 根据一个对象获取实体
  <p>
  对象如果是集合或者数组，则取其第一个元素进行判断
  
  @param obj
  对象
  @return 实体