<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>6.0.0.Alpha2</version>
</dependency>
当我向项目添加Hibernate-jpamodelgen依赖项时。在编译过程之前,一切都运行正常。我可以在目标文件夹下看到生成的元模型类。但由于我的系统默认设置(与我的操作系统相关),元模型类上的字段名常量被错误地转换。
public static final String TRANST�ME = "transtime";
public static final String NOTE = "note";
public static final String �SACT�VE = "isactive";
[ERROR] /C:/Users/*/IdeaProjects/*/target/generated-sources/annotations/*/model/acc/InvtypeView_.java:[20,37] illegal character: '\ufffd'
这会导致编译错误。当我分析代码生成过程时,我可以看到org.hibernate.jpamodelgen.util.StringUtil类的getUpperUnderScotreCaseFromLowerCamelCase方法导致了这种情况。
public static String getUpperUnderscoreCaseFromLowerCamelCase(String lowerCamelCaseString){
return lowerCamelCaseString.replaceAll("(.)(\\p{Upper})", "$1_$2").toUpperCase();
}
ToUpperCase方法应具有参数Locale.ROOT。
我在Hibernate issue tracker system上创建了一个问题。
任何快速的解决方案/解决方法都是很棒的。
2条答案
按热度按时间8yparm6h1#
我已经修复了以下配置的相同问题。
s2j5cfk02#
我也有过同样的问题。我的问题通过以下插件解决了