public class jdbcScanSendDAO extends JdbcDaoSupport {
private static final String sqlSummary ="select a.PRE_OR_NEXT_STATION,b.area_name,sum(a.PIECE) as PIECE ,count(a.PIECE) as VOTES,sum(a.MAX_WEIGHT) as MAX_WEIGHT,nvl(sum(a.WEIGHT),0) as WEIGHT , nvl(sum(a.dispatch_fee),0) as dispatch_fee from (select * from tab_send_view t where t.SCAN_DATE between to_date(?,'yyyy-mm-dd hh24:mi:ss') and to_date(?,'yyyy-mm-dd hh24:mi:ss') and t.SCAN_SITE=? ) a left join tab_site b on a.PRE_OR_NEXT_STATION=b.site_name group by a.PRE_OR_NEXT_STATION ,b.area_name";
public List<Summary> querySummaryPro(ScanSendFrom sendFrom){
List<Summary> summary =null;
List list = getJdbcTemplate().queryForList(sqlSummary, new Object[]{Pack.getTimeDate(sendFrom.getStartdate()),Pack.getTimeDate(sendFrom.getEnddate()),sendFrom.getScanSite()});
try {
summary = Pack.JdbcListObject(Summary.class, list);
} catch (Exception e) {
e.printStackTrace();
}
return summary;
}
}
程序不出任何错误```但 提示
17:16:41,312 WARN JdbcTemplate:1024 - SQLWarning ignored: java.sql.SQLWarning: Warning: 执行完毕, 但带有警告高手帮忙解决下谢谢````

解决方案 »

  1.   

    警告而已,何必头疼,要是把报警级别调低一点,那warning就海了去了,那你不头疼死
      

  2.   

    警告是一种日志级别.hibernate是有log4j的,你把log4j的日志级别调低就没有了.但是,一般开发的时候,最起码是要到warn的吧,一般都用到debug级别,能多看到一些信息是好的.部署之后也一般是warn级别的日志. 因为我们要让日志记录的信息是对我们的用户有用的.下面粘一些log4j的日志级别的文档:
    日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。 日志记录器(Logger)的可用级别Level (不包括自定义级别 Level), 以下内容就是摘自log4j API (http://jakarta.apache.org/log4j/docs/api/index.html): static Level DEBUG DEBUG Level指出细粒度信息事件对调试应用程序是非常有帮助的。static Level INFO INFO level表明 消息在粗粒度级别上突出强调应用程序的运行过程。 static Level WARNWARN level表明会出现潜在错误的情形。static Level ERRORERROR level指出虽然发生错误事件,但仍然不影响系统的继续运行。static Level FATALFATAL level指出每个严重的错误事件将会导致应用程序的退出。另外,还有两个可用的特别的日志记录级别: (以下描述来自log4j API http://jakarta.apache.org/log4j/docs/api/index.html): static Level ALLALL Level是最低等级的,用于打开所有日志记录。 static Level OFFOFF Level是最高等级的,用于关闭所有日志记录。 日志记录器(Logger)的行为是分等级的。如下表所示:分 为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别, 则应用程序中所有DEBUG级别的日志信息将不被打印出来
      

  3.   

    警告是一种日志级别.hibernate是有log4j的,你把log4j的日志级别调低就没有了.但是,一般开发的时候,最起码是要到warn的吧,一般都用到debug级别,能多看到一些信息是好的.部署之后也一般是warn级别的日志. 因为我们要让日志记录的信息是对我们的用户有用的.下面粘一些log4j的日志级别的文档:
    日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。 日志记录器(Logger)的可用级别Level (不包括自定义级别 Level), 以下内容就是摘自log4j API (http://jakarta.apache.org/log4j/docs/api/index.html): static Level DEBUG DEBUG Level指出细粒度信息事件对调试应用程序是非常有帮助的。static Level INFO INFO level表明 消息在粗粒度级别上突出强调应用程序的运行过程。 static Level WARNWARN level表明会出现潜在错误的情形。static Level ERRORERROR level指出虽然发生错误事件,但仍然不影响系统的继续运行。static Level FATALFATAL level指出每个严重的错误事件将会导致应用程序的退出。另外,还有两个可用的特别的日志记录级别: (以下描述来自log4j API http://jakarta.apache.org/log4j/docs/api/index.html): static Level ALLALL Level是最低等级的,用于打开所有日志记录。 static Level OFFOFF Level是最高等级的,用于关闭所有日志记录。 日志记录器(Logger)的行为是分等级的。如下表所示:分 为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别, 则应用程序中所有DEBUG级别的日志信息将不被打印出来
      

  4.   

    hibernate中不是写hql语句的吗?
      

  5.   

    也可以这样类似与sql来写 这样查询起来比快 也减少系统负担
      

  6.   

    如果你确实想知道为什么
    可以查源码看看
    JdbcTemplate:1024 行,
    到底怎么了