@SuppressWarnings("rawtypes")
	@Override
	protected void checkAfterParse(Method method) throws DaoGenerateException {
		super.checkAfterParse(method);

		MapperBy mapperBy = method.getAnnotation(MapperBy.class);
		Class<? extends RowMapper> mapperType = AutoDetectRowMapper.class;
		if (mapperBy != null) {
			mapperType = mapperBy.value();
		}

		Class<?> returnType = method.getReturnType();
		if (isUnique) {
			Class<?> expectedType = ClassHelper.getInterfaceGenericType(mapperType);
			if (!ClassHelper.isAssignable(returnType, expectedType, true)) {
				throw new DaoGenerateException("方法[" + method + "]配置错误：方法返回类型[" + returnType.getName()
						+ "]和@MappedBy注解中配置的类型[" + expectedType.getName() + "]不一致；或者请去掉@MappedBy注解");
			}
		} else {
			if (!ClassHelper.isTypeList(returnType)) {
				throw new DaoGenerateException("方法[" + method + "]配置错误：方法返回[java.util.List]类型 ，而实际返回类型["
						+ returnType.getName() + "]；或者请增加@Unique注解");
			}
		}
	}