hibernate Annotation(注解) 获取 字段名 表名

 

 1.获取表名

 

/**
	 * 
	* Discription :获取表名 
	* @param clz doumain实体类
	* @return
	* String
	* @throws     
	* @author : shendx
	* @date 2013-9-30 上午9:50:07
	 */
	public static String getTableName(Class<?> clazz)
	{
		Table table = (Table)clazz.getAnnotation(Table.class);
		return table.name();
	}

 2.获取字段名:

  

/**
	 * 
	 * Discription : 获取字段名称 并将数据放入map集合中
	 * 
	 * @param clazz
	 * @return Map<String,Method>
	 * @throws
	 * @author : shendx
	 * @date 2013-9-30 上午9:51:49
	 */
	public static Map<String, String> getColumnNames(Class<?> clazz) {
		Map<String, String> map = new HashMap<String, String>();
		Method[] methods = clazz.getMethods();
		for (Method method : methods) {
			Column c = method.getAnnotation(Column.class); // 获取注视中注解的对象
			if (null != c) {
				map.put(c.name(),c.name());
			} else {
				JoinColumn jc = method.getAnnotation(JoinColumn.class); // 获取外键的字段名称
				if (null != jc) {
					map.put(jc.name(),jc.name());
				}
			}
		}
		return map;
	}

 

 

 3.如若要获取实体中的属性名称:

可以通过BeanUtils.describe(object); 获取

BeanUtils是commons中的jar

你可能感兴趣的:(Hibernate,表名,字段名)