Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在两列之间休眠DateTime_Java_Hibernate - Fatal编程技术网

Java 在两列之间休眠DateTime

Java 在两列之间休眠DateTime,java,hibernate,Java,Hibernate,我试图在hibernate中查找基于DateTime对象的条目,其中startDate列小于DateTime,endDate列大于DateTime。我正在尝试使用下面的代码 DetachedCriteria crit = DetachedCriteria.forClass(FinancialEventGroup.class); crit.add(Property.forName("groupPeriodStart").lt(eventDate)); crit.add(Pr

我试图在hibernate中查找基于DateTime对象的条目,其中startDate列小于DateTime,endDate列大于DateTime。我正在尝试使用下面的代码

    DetachedCriteria crit = DetachedCriteria.forClass(FinancialEventGroup.class);
    crit.add(Property.forName("groupPeriodStart").lt(eventDate));
    crit.add(Property.forName("groupPeriodEnd").gt(eventDate));
但它在不应该返回null的时候返回null。有什么建议吗?其他DO访问方法正在工作,因此这不是hibernate配置的问题,我怀疑这是分离标准设置的问题


编辑:我解决了我的问题部分是因为下面的帮助。我面临的另一个问题是,我希望eventDate小于groupPeriodEnd,前提是group period end不为空(即,如果这是一个未结束的开放期)。hibernate中是否存在XOR/OR限制?有没有办法做到这一点,或者我只需要过滤结果?

您的条件将始终生成返回0条记录的查询。无论数据类型如何,表中的一个字段不能大于某个值,同时也不能小于该值。。。您可能想使用
le
ge
而不是
lt
/
gt

使用限制而不是属性,也可以使用ge/le(>=/您可以使用普通的HPQL查询而不是标准吗?它看起来像`“从FinancialEventGroup feg中选择feg,其中feg.groupPeriodStart<:event和feg.gropPeriodEnd>:event”您是否尝试在sqldeveloper ide中生成sql?这不应该是crit.add(Restrictions.ge(“groupPeriodStart”,eventDate);crit.add(Restrictions.le(“groupPeriodEnd,eventDate”);如果我希望结果在开始日期之后和结束日期之前?
 DetachedCriteria crit = DetachedCriteria.forClass(FinancialEventGroup.class);
    crit.add(Restrictions.le("groupPeriodStart",eventDate);
    crit.add(Restrictions.ge("groupPeriodEnd",eventDate);