我创建了Hibernate元模型类作为文章。 http://www.thoughts-on-java.org/static-metamodel/
声纳建议
不符合规范的代码示例
public class Greeter {public static Foo foo = new Foo(); ......}
合规解决方案
public class Greeter {public static final Foo FOO = new Foo();
......}
但SingularAttribute
是界面。
有人能给我一些建议吗?
答案 0 :(得分:0)
在你的情况下,我会忽略SonarQube警告,因为有充分的理由将字段定义为volatile(参见Q& A here)。此外,JPA Spec定义了对'volatile'关键字的需求。
此外,由于生成了这些类,因此无论如何都无法真正改变它们。
你可以在类中添加一个@SuppressWarning("squid:S2386")
,但是再次这样做是不可行的,因为这些类是生成的(在你的构建中可重复使用)。
因此,您可以将所有这些问题标记为声纳中的误报,或者通过将sonar.exclusions
设置为"*_.java"