public static List<Field> getAll(Class entityClass) {

		List<Field> fields = new ArrayList<>();
		for (Field field : entityClass.getDeclaredFields()) {

			if (field.getName().equals("serialVersionUID")
				|| Modifier.isTransient(field.getModifiers())
				|| Modifier.isStatic(field.getModifiers())
				|| !isTypeAllowed(field.getType())) {
				continue;
			}

			boolean store = true;
			for (Annotation annotation : field.getDeclaredAnnotations()) {
				if (annotation instanceof Transient) {
					store = false;
					break;
				}
			}

			if (store) {
//                Logger.getAnonymousLogger().info("name stored:  " + field.getName() + " : " + field.toGenericString());
				fields.add(field);
			}
		}

		return fields;
	}