I needed to make a query to find all records valid today for columns with effectiveFrom and effectiveTo range I spent a couple of hours trying to understand why criteria.add(Restrictions.ge("effectiveFrom",currentDate.getTime())); criteria.add(Restrictions.le("effectiveTo",currentDate.getTime())); was giving no results. After many trials and attempts with other criteria tricks, I remembered that hibernate is not comparting if currentDate.getTime is greater than effectiveFrom, but if effectiveFrom is greater than currentDate.getTime So correct sintax for it was the exact opposite criteria.add(Restrictions.le("effectiveFrom",currentDate.getTime())); criteria.add(Restrictions.ge("effectiveTo",currentDate.getTime())); This one worked as it should
The technical blog of Francesco De Collibus.