public static Map<String, Object> getBelongsTo(Object obj) throws Exception {
		Map<String, Object> attrs = new HashMap<String, Object>();
		for (Field field : obj.getClass().getDeclaredFields()) {
			Class<?> fieldType = field.getType();
			String fieldName = field.getName();
			Annotation[] annotations = field.getDeclaredAnnotations();
			if (annotations.length > 0
					&& BelongsTo.class.equals(annotations[0].annotationType())) {
				String foreignKey = ((BelongsTo) annotations[0]).FK();
				attrs.put("column", foreignKey);
				attrs.put("fieldType", fieldType);
				attrs.put("fieldName", fieldName);
				String getterName = BeanUtils.getter(fieldName);
				Method getter = obj.getClass().getMethod(getterName);
				Object target = getter.invoke(obj);
				if (target == null) {
					break;
				}
				Map<String, Object> primaryKey = getPrimaryKey(target);
				attrs.put("value", primaryKey.get("value"));
				break;
			}

		}
		return attrs;
	}