方法如下
public List queryByDate(String belongDateA,String belongDateB) {
Session session = this.getSession();
List list = null;
Transaction tr = session.beginTransaction();
try {
Query query = session.createSQLQuery("select * from taxreportdetail t " +
"where  t.d_belongdatea>=to_date(belongDateA,'yyyy-mm-dd') and t.d_belongdateb<=to_date(belongDateB,'yyyy-mm-dd') ");
list = query.list();
tr.commit();
list获取不了,上面传进来的是一个字符串型
多谢

解决方案 »

  1.   

    from taxreportdetail t 对应的是BEAN的名称,就是映射的对象类名。
      

  2.   

    hql里 ,belongDateA,belongDateB,不应该直接写,可以拼字符串,也可以写成命名参数,如:
    Query query = session.createSQLQuery("select * from taxreportdetail t where  t.d_belongdatea>=to_date(:belongDateA,'yyyy-mm-dd') and t.d_belongdateb <=to_date(:belongDateB,'yyyy-mm-dd')");
    query.setString("belongDateA",belongDateA);
    query.setString("belongDateB",belongDateB);
    query.list();
    恶心恶心
      

  3.   

    首先看你sql对不对了,有这么用的
    List l=this.getSession().createSQLQuery(sql).addEntity(TblEnCn.class).list();
      

  4.   

    哦,晕这还叫什么hibernate查询啊。自己琢磨吧,文档上写的很清楚。
      

  5.   

    首先,你要明确你是要使用sql还是hql,2者的区别自己可以查找下.然后sql句中如果要用变量,要用字符串拼接的形式
      

  6.   

    你这个是绝对不对的啊,List l=this.getSession().createSQLQuery(sql).addEntity(TblEnCn.class).list(); 
    只有使用HQL的时候返回的是LIST啊,