日期:2014-05-20  浏览次数:20577 次

Hibernate 按日期查询的问题
我有一日期字段idate 是datetime类型,数据库是sql server2000

我从JSP 传两个字符串"2008-07-01" ,"2008-08-05",并已经转成日期

我想这段日期符合的记录
Java中Hibernate 语句如下:

Java code

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");  
String hql = "";
Date startdate = sdf.parse(start_date);
Date enddate = sdf.parse(end_date);

hql="FROM mytable WHERE clinid=? AND idate>=? and idate<=? ";
Query q = this.session.createQuery(hql);
q.setString(0, start_clinId);
q.setDate(1, startdate );
q.setDate(2,enddate );



以上代码总是出错,找不到记录,请各位帮忙看一下。 


--------------------------------
以下内容为自动编辑的内容,并非楼主的发贴内容,此仅用于显示而已,并无任何其他特殊作用
楼主【gxsuyong】截止到2008-08-04 16:05:08的历史汇总数据(不包括此帖):
发帖的总数量:23 发帖的总分数:475 每贴平均分数:20  
回帖的总数量:19 得分贴总数量:0 回帖的得分率:0%  
结贴的总数量:23 结贴的总分数:475  
无满意结贴数:0 无满意结贴分:0  
未结的帖子数:0 未结的总分数:0  
结贴的百分比:100.00% 结分的百分比:100.00%  
无满意结贴率:0.00 % 无满意结分率:0.00 %  
敬礼!
取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=gxsuyong

------解决方案--------------------
SimpleDateFormat sdf = new SimpleDateFormat(yyyy-mm-dd)
------解决方案--------------------
List list = sess.createCriteria(MyTabel.class)
.add( Restrictions.eq("clinid", start_clinId) )
.add( Restrictions.between("idate", startdate, enddate) )
.list();

这样试试。