sonarqube错误地报告"PreparedStatement没有参数."

MRa*_*ser 9 java sonarqube

sonarqube 错误地报告以下(简化)来源PreparedStatement has no parameters.(鱿鱼:S2695):

public static final String UPDATE_QUERY = "UPDATE TABLE SET COL1=? WHERE PK=?";

private PreparedStatement preparedStatement = null;

public void updateMethod(Date date, Long pk )
{
  if(preparedStatement == null)
  {
    //ConnectionService is not a Connection!
    preparedStatement = ConnectionService.prepareStatement(UPDATE_QUERY);
  }

  //sonarqube reports on the following two lines: 'This "PreparedStatement" has no parameters.'
  preparedStatement.setDate(1, date);
  preparedStatement.setLong(2, pk);
  ResultSet rs = preparedStatement .executeQuery(); 

  //further code left out
}
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 这是分析仪的错误还是限制?

  2. 有什么我可以做的来隐藏这些"误报"吗?

fid*_*idu 3

这是一个误报,您可以在此处看到它已在 4.5 版本中修复。

问题 1 的答案:
是的,这是一个错误,请将您的声纳版本升级到 4.5(或更高版本)

问题 2 的答案:在此处
禁用声纳中的规则如何消除误报问题?这里