2011-12-12 75 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