code: static <T> EntityInfo<T> load(Class<T> clazz, final boolean cacheForbidden, final Properties conf,
          DataSource source, BiFunction<DataSource, Class, List> fullloader) {
          EntityInfo rs = entityInfos.get(clazz);
          if (rs != null && (rs.cache == null || rs.cache.isFullLoaded())) return rs;
          synchronized (entityInfos) {
              rs = entityInfos.get(clazz);
              if (rs == null) {
                  rs = new EntityInfo(clazz, cacheForbidden, conf, source, fullloader);
                  entityInfos.put(clazz, rs);
                  if (rs.cache != null) {
                      if (fullloader == null) throw new IllegalArgumentException(clazz.getName() + " auto loader  is illegal");
                      rs.cache.fullLoad();
                  }
              }
              return rs;
          }
      }
docs: 加载EntityInfo
  
  @param clazz          Entity类
  @param cacheForbidden 是否禁用EntityCache
  @param conf           配置信息, persistence.xml中的property节点值
  @param source         DataSource,可为null
  @param fullloader     全量加载器,可为null