HQL:
from FtCalendarevent where effectiveTime =:p1query.setParameter("p1", 2008-03-11);
上面的2008-03-11要转换成Date型另外 FtCalendarevent  这里映射类里面的effectiveTime 这个字段需要是Date型的

解决方案 »

  1.   

    select * from ft_calendarevent where effective_time =   to_date('2008-03-11','yyyy-mm-dd') 
    这句话form ft_calendarevent(你的类名,如果有重名类,要加包路径) where effective_time =todate(?,'yyyy-mm-dd')query.setParameter(0, "'"+"2008-03-11"+"'"); 
    用单引号括起来就是了
      

  2.   


    Session session=this.getSession();
    Transaction t=session.beginTransaction();
    Query query=session.createQuery("from Ceshidate where cdate between to_date('"+str+"','yyyy-mm-dd') and to_date('"+str1+"','yyyy-mm-dd')");

    Ceshidate c=(Ceshidate)query.list().get(0);
    System.out.println(c.getCdate());
    t.commit();
    //这是我写的测试代码。。你可以参考一下
      

  3.   

    直接用Date类型就可以了,映射文件的属性直接用util.Date,对于to_date这个方法在HQL中是否有,反正我是不知道
      

  4.   

    select * from ft_calendarevent  convert(char(8),effective_time,112) = '20071208'
    一定行
      

  5.   

    from FtCalendarevent obj where obj .effectiveTime =   to_date('2008-03-11','yyyy-MM-dd') 
    ft_calendarevent 的BEEN 文件类是 FtCalendarevent
      

  6.   

    select obj  from FtCalendarevent obj where obj .effectiveTime =   to_date('2008-03-11','yyyy-MM-dd')  
    也是一样的
      

  7.   

    hibernate有直接执行JDBC 也就是SQL语句的接口,
    因为hibernate自带的接口虽然能够解决很多一般性问题,但复杂的数据库查询依然需要SQL语句直接通过 JDBC来执行。但是你这个简单查询直接HQL查就好了。直接JDBC查询
    方法一:
    Session类中的createSQLQuery(String sql)方法,可绕过Hibernate直接执行sql语句;
    方法二:
    从Session中直接取到数据库的Connection,
    Connection conn = this.getSession.getConnection();
    之后的操作就不用我多说了吧!