按列获取属性
问题描述:
如何通过列名称获取属性名称?按列获取属性
我正在创建基于输入数据生成标准的标准构建器。在输入中,我得到了使用限制的操作类型,表名,列名和值进行比较。
例如,输入数据: “EQ”, “人”, “地址”, “大街”
生成的标准应该是如下: Restrictions.eq( “people.address”,“主要街道”);
问题出现时,列名不匹配的属性名称或属性名称引用TOS另一个类的对象(即对象已经FK的另一个对象)
答
如果我理解正确的话,你想知道某一类是否有以people
或address
为例。你可以用反射来做。事情是这样的:
clazz.getDeclaredField("address")
,或者,如果类实现getter和setter方法说
clazz.getMethod("get" + fieldName.substring(0, 1).toUpperCase() + fieldName.subsring(1))
类定义的所有列名的属性: @Column(name = “地址”, nullable = false) public String getHomeAddress(){ return homeAddress } 我想要的是按列名“地址”获取相应的属性名称,即“homeAddress” – user2500140