Java SonarQube Hibernate事务中出现误报

Java SonarQube Hibernate事务中出现误报,java,sonarqube,Java,Sonarqube,考虑以下代码: Transaction tx = null; try { Session currentSession = getCurrentSession(); tx = currentSession.beginTransaction(); } catch (HibernateException e) { if (tx != null) { tx.rollback(); } } SonarQube与Sonar Scanner的命令行版本(2.5.1)配合使用

考虑以下代码:

Transaction tx = null;

try {
  Session currentSession = getCurrentSession();
  tx = currentSession.beginTransaction();
} catch (HibernateException e) {
   if (tx != null) {
     tx.rollback();
   }
}
SonarQube与Sonar Scanner的命令行版本(2.5.1)配合使用-我前几天下载的两个最新版本都产生了以下拦截器问题:

更改此条件,使其不总是计算为“false”


它发生在上面的if(tx!=null)检查中。但是,如果对getCurrentSession()的调用失败,则tx可能为null…

Ok。那么问题是什么!?你能准确地说出你正在使用的java analyzer的版本吗?简:读一下文章的标题“假阳性…”为什么tx不能为null,如果getCurrentSession()因HibernateeException而失败呢?这不会导致tx仍然为空吗?