我使用反射来获取领域将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生成的表? –