code: public static List<EntityField> getAll(Class<?> entityClass) {
          List<EntityField> fields = fieldHelper.getFields(entityClass);
          List<EntityField> properties = fieldHelper.getProperties(entityClass);
          //拼到一起，名字相同的合并
          List<EntityField> all = new ArrayList<EntityField>();
          Set<EntityField> usedSet = new HashSet<EntityField>();
          for (EntityField field : fields) {
              for (EntityField property : properties) {
                  if (!usedSet.contains(property) && field.getName().equals(property.getName())) {
                      field.copyFromPropertyDescriptor(property);
                      usedSet.add(property);
                      break;
                  }
              }
              all.add(field);
          }
          for (EntityField property : properties) {
              if (!usedSet.contains(property)) {
                  all.add(property);
              }
          }
          return all;
      }
docs: 获取全部的属性，包含字段和方法
  
  @param entityClass
  @return
  @throws IntrospectionException