当前位置: 首页 > 知识库问答 >
问题:

如何解决Hibernate元模型类的问题使这个“公共静态id”字段成为Sonar提出的最终字段

罗新
2023-03-14

我创建了Hibernate元模型类,如本文所示。http://www.thoughts-on-java.org/static-metamodel/

声纳建议是

不遵从代码示例

公共类问候者{public static Foo Foo=new Foo();…}

兼容解决方案

公共类问候者{public static final Foo Foo=new Foo();
…}

但是SingularAt0016是接口。

谁能给我一些建议吗?

共有1个答案

白云
2023-03-14

在您的情况下,我会忽略SonarQube警告,因为字段被定义为易失性是有充分理由的(参见问

此外,因为这些类是生成的,所以无论如何都不能真正更改它们。

您可以在类中添加一个@SuppressWarning(“squid:S2386”),但这同样不起作用,因为类是生成的(我假设在您的构建中可以重复)。

因此,您可以在Sonar中将所有这些问题标记为假阳性,或者通过设置Sonar完全忽略这些(生成的)类。排除到类似“*..java”

 类似资料:
  • 我有一个抽象类的许多子类,每个子类都声明了一个同名的公共静态final字段。我在考虑在抽象超类中包含这个字段,而不初始化它,并希望每个子类都能被强制初始化它。 我之所以这么想,是因为抽象类的所有子类都声明了一个名为UNIQUE_ID的公共静态最终字符串字段,并且每个子类都有必要声明一个具有该名称的字段。 我希望我的问题足够清楚,如果不清楚,请告诉我。 能不能做一些和这个差不多的事情? 编辑:添加代

  • 问题内容: 使用JavaDoc,如何在类中引用最终静态字段的值? 我希望在此示例中将其替换为field的值。 问题答案: 你的意思是?

  • 问题内容: 我需要一个小的Container-Class来存储一些不可变的字符串。由于String本身是不可变的类型,所以我想到了这样的东西: 许多人似乎完全反对使用公共字段,而是使用Getters。恕我直言,在这种情况下,这只是样板,因为String本身是不可变的。 我可能对这个还有其他想法吗? 问题答案: 我会做您认为最简单明了的事情。如果您有一个仅由有限数量的类使用的数据值类。esp包本地类

  • 我需要在我的应用程序中创建100个或更多的静态最终常数,我可以通过以下两种方式实现这一点: 创建一个简单的java并在该类中创建字段 创建接口时应将所有变量放入其中,因为接口中的所有字段都是隐式的 在上述方法中,我有以下问题: 哪种方法是实现这一目标的正确方法

  • 我们正在开发基于spring boot 2.5.6的支付应用程序。该应用程序托管在docker上,并在Java14上启动。我们创建了一个名为的抽象类,它是,包含两个变量和。所有枚举类都扩展了这个基类,并在其中定义常量。 这个决定是为了定制整个应用程序层中使用的枚举。你可以在下面看到一个例子: 该类在实体层中用作嵌入变量,如下所示: 系统工作得很好,但是发生了一些错误,ShapeEnum的字段。RE

  • 问题内容: 我一直想知道Java中的单例。按照惯例,单例设置如下: 最近,我切换到使用以下内容: 由于没有空检查,因此它更短,更快捷,而且打字对我来说比打字好。有什么理由不能使第二种方法成为主流呢? 问题答案: 第一个版本在第一次实际需要时创建实例,而第二个版本(较短的版本)在初始化类后立即运行构造函数 类或接口类型T将在以下任何一种首次出现之前立即初始化: T是一个类,并创建T的实例。 T是一个