我有一个问题:
Date dDateFrom;
...
String sql = "select a from tblA where timestamp > ?";
ps = this.connection.prepareStatement(sql);
ps.setTimestamp(1, java.sql.Timestamp(dDateFrom.getTime()));
并且IntelliJ IDE警告错误:无法解析查询参数,我相信它是因为列"时间戳",(我知道它是一个坏名字,但它' ;十年前定义的,我无法改变它。)
无论如何我可以忽略这个错误?
答案 0 :(得分:6)
浏览突出显示错误的代码部分,点击 ALT + ENTER 并选择检查'未解决的查询和查询参数'选项 - &gt ;编辑检验配置文件设置。这将打开设置对话框,您可以取消选中此检查,以便将来忽略此类“错误”。
您也可以直接从“设置”进行更改。只需搜索 Unresolved query 。
Btw:这次检查显示为JPA检查,但显然它也适用于普通的JDBC。答案 1 :(得分:2)
您可以通过使用双引号,反引号或括号引用列名来避免警告。这是允许不寻常的列名称(如空格或保留字)的常用SQL机制,可以帮助IntelliJ更好地解析它。
String sql = "select a from tblA where \"timestamp\" > ?";
答案 2 :(得分:1)