2017-02-22 79 views
0

我使用反射來獲取領域將Java字段名稱爲Hibernate名

Field[] testContent = menu.getClass().getDeclaredFields();

返回我喜歡

fieldIdfieldName

等變量。

所以我需要將它們轉換在Hibernate中風格類似

FIELD_IDFIELD_NAME

那麼,有沒有什麼準備,我可以使用,因爲我想用正則表達式來拆分它,但我希望有已經有了。

+0

可以提供更多的上下文來達到你想達到的目的嗎? – rilaby

+0

你只是想要「休眠風格」,還是你想動態映射Hibernate生成的表? –

回答

0

番石榴提供了這樣的功能:

System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, "fieldName")); 

輸出是FIELD_NAME

0

名稱取決於所使用的休眠naming strategy。根據版本以及您嘗試實現的內容,您可以嘗試使用您使用的命名策略的公共API直接從Java類獲取表名,而不是使用反射。 classToTableNamedefault naming strategy