3/29/2009

讨论Hibernate通过criteria对时间的处理

环境 :oracle9i,Tomcat5.0,winxp测试通过 ;

Hibernate中对时间的处理直接使用hql肯定是最方便的,但是criteria示例查询又是不非常不错的选择,在criteria中如何对时间进行查询。

Criteria criteria = getSession().createCriteria(GasthausInfo.class);

//按照时间来查询
if (hostel.getRegisterdate()!=null){
//按照注册时间来查询
residedatestr = PubMethod.parse(hostel.getRegisterdate(),”yyyy-MM-dd”);
criteria.add(Expression.between(”registerdate”,
PubMethod.parse((residedatestr+” 00:00:01″),”yyyy-MM-dd HH:mm:ss”),
PubMethod.parse((residedatestr+” 23:59:59″),”yyyy-MM-dd HH:mm:ss”)));
}

criteria.add(Example.create(hostel).excludeProperty(”registerdate”));//屏蔽掉示例查询中对registerdate字段。然后通过Expression.between()来进行查询,

数据库中registerdate字段为date 或varchar都支持。。。