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