2012-11-12 209 views
1

這聽起來很簡單,但我無法將我的頭包裹在它周圍。休眠。檢查日期範圍是否在另一個日期範圍內

我在我的數據庫中有兩個字段。 availableFromDate和availableToDate。

用戶正在進行搜索以查找給定範圍內可用的所有實體。所以我的行動收到兩個日期:

searchFromDate和searchToDate。

我需要做的就是返回用戶指定的整個週期內可用的所有實體。

最好使用Criterias。

有人嗎?

回答

0

如果我理解你的問題正確的 - 也就是說,該事件提供應檢索日期範圍內完全說謊 - 那麼它應該歸結到這一點:

如果您確保「availableFromDate.before(availableToDate) 「和」searchFromDate.before(searchToDate)「 - 無論如何,在這種情況下你應該做的 - 然後你的availableFromDate和你的availableToDate必須在搜索日期範圍內。

您可以使用該解決方案從這個答案,以確保這兩個日期的範圍內:How to compare dates in hibernate

criteria.add(Restrictions.between("availableFromDate", searchFromDate, searchToDate)); 
criteria.add(Restrictions.between("availableToDate", searchFromDate, searchToDate)); 
+0

感謝您的貢獻,大衛!你幾乎是對的。這只是另一種方式。搜索日期範圍必須在可用性範圍內完整。換句話說,我只想返回那些至少可用於整個搜索範圍的實體。 – user829237