Hibernate 两个时间间隔之间的HQL

Hibernate 两个时间间隔之间的HQL,hibernate,hql,criteria,Hibernate,Hql,Criteria,如何在两个日期时间间隔之间使用HQL的正确格式。 我在oracle中有以下SQL: 我的HQl: 该领域: 道: hql工作得很好,但结果与简单sql不同。 如何改进此hql 提前感谢。如果您看到ORM引擎创建的SQL语句,可能会对您有所帮助。在使用Hibernate的情况下,应该使用true配置参数。检查您是否发现生成的句子和您自己的句子之间有任何差异 如果句子相等,请检查您的参数,问题应该是这样。实体是Oracle中的一个视图,结果有何不同?列表中的某些行与HQL重复 select * fr

如何在两个日期时间间隔之间使用HQL的正确格式。 我在oracle中有以下SQL:

我的HQl:

该领域:

道:

hql工作得很好,但结果与简单sql不同。 如何改进此hql


提前感谢。

如果您看到ORM引擎创建的SQL语句,可能会对您有所帮助。在使用Hibernate的情况下,应该使用true配置参数。检查您是否发现生成的句子和您自己的句子之间有任何差异


如果句子相等,请检查您的参数,问题应该是这样。

实体是Oracle中的一个视图,结果有何不同?列表中的某些行与HQL重复
select * from vw_diariorecauda where ts_crea between TO_DATE
('01/10/2013 00:00:00','dd/MM/yyyy hh24:mi:ss') 
and TO_DATE ('01/10/2013 23:59:59', 'dd/MM/yyyy hh24:mi:ss')
private Date tsCrea;

@Temporal(TemporalType.TIMESTAMP)
@Column(name = "TS_CREA")
public Date getTsCrea() {
    return this.tsCrea;
}
public List<VwDiariorecauda> buscarFecha(Date fecha) {
    log.trace(fecha);
    Calendar c = Calendar.getInstance();
    c.setTime(fecha);
    c.add(Calendar.HOUR, 0);
    c.add(Calendar.MINUTE, 0);
    c.add(Calendar.SECOND, 0);
    Date fInicio = c.getTime();
    c.add(Calendar.HOUR, 23);
    c.add(Calendar.MINUTE, 59);
    c.add(Calendar.SECOND, 59);

    Date fFin = c.getTime();
    Session session = sessionFactory.getCurrentSession();
    Query query=session.createQuery("FROM VwDiariorecauda WHERE
            tsCrea  BETWEEN :hora1 AND :hora2").setTimestamp("hora1",fInicio).
            setTimestamp("hora2",fFin);
    return query.list();