我使用反射來獲取領域將Java字段名稱爲Hibernate名
Field[] testContent = menu.getClass().getDeclaredFields();
返回我喜歡
fieldId
fieldName
等變量。
所以我需要將它們轉換在Hibernate中風格類似
FIELD_ID
,FIELD_NAME
那麼,有沒有什麼準備,我可以使用,因爲我想用正則表達式來拆分它,但我希望有已經有了。
我使用反射來獲取領域將Java字段名稱爲Hibernate名
Field[] testContent = menu.getClass().getDeclaredFields();
返回我喜歡
fieldId
fieldName
等變量。
所以我需要將它們轉換在Hibernate中風格類似
FIELD_ID
,FIELD_NAME
那麼,有沒有什麼準備,我可以使用,因爲我想用正則表達式來拆分它,但我希望有已經有了。
番石榴提供了這樣的功能:
System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, "fieldName"));
輸出是FIELD_NAME
名稱取決於所使用的休眠naming strategy。根據版本以及您嘗試實現的內容,您可以嘗試使用您使用的命名策略的公共API直接從Java類獲取表名,而不是使用反射。 classToTableName
爲default naming strategy。
可以提供更多的上下文來達到你想達到的目的嗎? – rilaby
你只是想要「休眠風格」,還是你想動態映射Hibernate生成的表? –