Если вы используете DAO, репозитории или менеджеров для своих сущностей, вы можете создать в них собственные методы, например getPostsFromUserBetweenDates(int id, date start, date finish)
, используя Язык запросов Hibernate .Он позволяет вам писать запросы на языке, очень похожем на SQL, но имеет то преимущество, что он полностью объектно-ориентирован.