读书人

spring的hibernate查询日期的语句,该如

发布时间: 2012-02-02 23:57:14 作者: rapoo

spring的hibernate查询日期的语句

select to_date('2011-11-28','yyyy-mm-dd')-to_date('2011-11-01','yyyy-mm-dd') from dual
这句sql语句是从oracle数据库中查询两个日期之间的天数,这句在oracle中运行正常,返回一个整数。可是放在dao持久层查询时不能运行。会说找不到dual,可是应该怎样写sql语句呢。

Java code
public int findBeginEndNum(String begintime,String endtime) {    try{String sql="select to_date('"+endtime+"','yyyy-mm-dd')-to_date('"+begintime+"','yyyy-mm-dd') from dual";        System.out.println(sql);        this.getHibernateTemplate().find(sql); 【运行到这里就报错】        //Object obj=this.getHibernateTemplate().find(sql).get(0);        //if(obj!=null){        //    return Integer.parseInt(obj.toString());        //}    }catch(Exception e){        e.printStackTrace();        }    return 0;}    




[解决办法]
我也没试过这个,给你点建议
this.getHibernateTemplate().find(sql); //先试试这句能否运行其他SQL,

或者使用Hibernate中其他运行SQL的方法试试。
[解决办法]
this.getHibernateTemplate().getSessionFactory().getCurrentSession().createSQLQuery(sql);
[解决办法]
探讨
String sql="select to_date('"+endtime+"','yyyy-mm-dd')-to_date('"+begintime+"','yyyy-mm-dd') from dual

读书人网 >Java Web开发

热点推荐