private Object[] getVkeyGettersAndIndexes(Method method, List<String> vkeyParameterNames,
									  Map<String, Integer> paramIndexes, Map<String, Integer> batchParamIndexes) throws DaoGenerateException {

		Class<?> returnType = method.getReturnType();

		if (ClassHelper.isTypeCollection(returnType)) {
			// 集合类的版本号和普通的key生成类似，以父类实现为准为准
			return super.getGettersAndIndexes(method, vkeyParameterNames, paramIndexes, batchParamIndexes);
		} else {
			// 单个对象的返回值，特出处理，将返回值当做一个@Param("result")来处理

			if (vkeyParameterNames.size() != 1 || !RESULT_PARAM_VALUE.equals(vkeyParameterNames.get(0))) {
				throw new DaoGenerateException("方法[" + method + "]配置错误： 对于返回非集合类型的方法，@Cache注解的vkey有且只能有一个参数\""
						+ RESULT_PARAM_VALUE + "\"");
			}

			Map<String, Integer> returnIndexes = new HashMap<String, Integer>(1);
			returnIndexes.put(RESULT_PARAM_VALUE, 0);
			Class<?>[] retTypes = new Class<?>[] { returnType };

			return ReflectionUtils.getGettersAndIndexes(vkeyParameterNames, returnIndexes, retTypes);
		}
	}