private List<Number> getKeysFromKeyHolder(KeyHolder keyHolder) {
		List<Map<String, Object>> generatedKeys = keyHolder.getKeyList();
		int length = generatedKeys.size();

		List<Number> keys = new ArrayList<Number>();
		for (int i = 0; i < length; i++) {
			Iterator<Object> keyIterator = generatedKeys.get(i).values().iterator();
			if (keyIterator.hasNext()) {
				Object key = keyIterator.next();
				if (!(key instanceof Number)) {
					String className = null;
					if (key != null) {
						className = key.getClass().getName();
					}
					throw new RetrievalIdException("数据库生成的主键不是系统支持的数值类型. " + "无法将[" + className + "]类型转换为["
							+ Number.class.getName() + "]类型");
				}
				keys.add((Number) key);
			}
		}

		return keys;
	}