@TonyJa

Как вернуть из MySQL список?

У меня в БД есть список покупок, у сущности "покупка" есть поле "Дата".
Подскажите, пожалуйста, как можно получить список покупок за заданный диапазон дат.
  • Вопрос задан
  • 242 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Query query = session.createQuery("from Purchase p where p.bought between :startDate and :endDate");
query.setParameter("startDate", someDate);
query.setParameter("endDate", anotherDate);
List<Purchase> purchases = query.list();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Che_Bu_Rashka
Используя любую ORM ты получишь список на запрос Select
Пример с ApacheCayenne

List roles;
SelectQuery select_role = new SelectQuery(Role.class);
roles = Context.getContext().performQuery(select_role);

в итоге в roles будет список
В Hibernate думаю точно также. Однако с датами чуть посложнее.

Вот как в Cayenne предлагается работать с датами
Calendar c = new GregorianCalendar();
c.set(c.get(Calendar.YEAR) - 100, 0, 1, 0, 0, 0);

Expression qualifier3 = Expression.fromString("artist.dateOfBirth < $date");
qualifier3 = qualifier3.expWithParameters(Collections.singletonMap("date", c.getTime()));
SelectQuery select3 = new SelectQuery(Painting.class, qualifier3);
List paintings3 = context.performQuery(select3);

Происходит выборка картин тех художников, которые родились более 100 лет назад
Ответ написан
kimono
@kimono
Web developer
SELECT * FROM `buys` WHERE `date` BETWEEN '2000-01-01' AND '2000-01-31'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы