2011-12-12 59 views
0

如何通过列名称获取属性名称?按列获取属性

我正在创建基于输入数据生成标准的标准构建器。在输入中,我得到了使用限制的操作类型,表名,列名和值进行比较。

例如,输入数据: “EQ”, “人”, “地址”, “大街”

生成的标准应该是如下: Restrictions.eq( “people.address”,“主要街道”);

问题出现时,列名不匹配的属性名称或属性名称引用TOS另一个类的对象(即对象已经FK的另一个对象)

回答

0

如果我理解正确的话,你想知道某一类是否有以peopleaddress为例。你可以用反射来做。事情是这样的:

clazz.getDeclaredField("address")

,或者,如果类实现getter和setter方法说

clazz.getMethod("get" + fieldName.substring(0, 1).toUpperCase() + fieldName.subsring(1))

+0

类定义的所有列名的属性: @Column(name = “地址”, nullable = false) public String getHomeAddress(){ return homeAddress } 我想要的是按列名“地址”获取相应的属性名称,即“homeAddress” – user2500140