通过反射获取Hibernate实体字段名

Hibernate实体形如:
	/** 用户名 */
private String userName;
/** 密码 */
private String password;
/** 用户类型 */
private String typeId;
/** 用户状态 */
private String status;

@Column(name = "USER_NAME", nullable = false, length = 36)
public String getUserName() {
return userName;
}

public void setUserName(String userName) {
this.userName = userName;
}

@Column(name = "PASSWORD", nullable = false, length = 32)
public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

@Column(name = "TYPE_ID", nullable = false, length = 10)
public String getTypeId() {
return typeId;
}

public void setTypeId(String typeId) {
this.typeId = typeId;
}

@Column(name = "STATUS", nullable = false, length = 10)
public String getStatus() {
return status;
}
获取所有字段的方法
	/**
* <pre>
* 获取实体所有字段
* @param clazz 实体类型
* @param strs 需要排除的字段
* @return Map<String, Method> 其中key为数据库字段名称,value为字段对应的get方法
* 2011-4-23 下午01:52:06
* </pre>
*/
public static Map<String, Method> getFields(Class<?> clazz, List<String> strs) {
Map<String, Method> map = new HashMap<String, Method>();
Method[] methods = clazz.getMethods();
for (Method method : methods) {
Column c = method.getAnnotation(Column.class);
if (null!=strs&&strs.contains(c.name())) {
continue;
}
if (null != c) {
map.put(c.name(), method);
} else {
JoinColumn jc = method.getAnnotation(JoinColumn.class);
if (null!=strs&&strs.contains(jc.name())) {
continue;
}
if (null != jc) {
map.put(jc.name(), method);
}
}
}
return map;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值