Получить все столбцы за последний месяц с запросом JPA? - PullRequest
0 голосов
/ 17 декабря 2018

Мой текущий запрос подсчитывает все проданные билеты на каждое событие и перечисляет каждое событие с наибольшим количеством билетов.Теперь проблема в том, что мне нужно также получить все билеты за последний месяц, и я просто не могу получить нужный результат из документа JPArepo.только.Текущий запрос выглядит так:

@Query("select t.event.id, count(t.id) from Ticket t where t.event.seat = True group by t.event.id order by count(id) desc")

Я думаю о том, где после «True» и до того, как группировка должна быть реализована, но я просто не знаю, как.Я был бы очень признателен, если бы кто-то из вас смог мне помочь!

Редактировать: Забыл упомянуть, что текущая дата события просто называется «дата», поэтому для доступа к ней нужно просто t.event.date.

1 Ответ

0 голосов
/ 17 декабря 2018

Измените ваш запрос на что-то вроде этого:

@Query("select t.event.id, count(t.id) from Ticket t where t.event.seat = ?1 and t.event.date >= ?2  group by t.event.id order by count(t.id) desc")
List<?> getEventCount(Boolean seatTaken, Date eventDate);

Я изменил запрос так, чтобы в качестве места использовался логический параметр (для повторного использования, если вы хотите найти места, которые не были заняты), и добавил вDate параметр.

Затем вычислите дату месяца назад следующим образом:

Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, -1);
Date date = cal.getTime();

И, наконец, реализуйте новый метод:

List<?> results = repo.getEventCount(true, date);

Чтобы создать службуВесной урок и все это вместе попробуйте что-то вроде:

@Service
public class TicketService {

  @Autowired
  private TicketRepository repo;

  public List<?> getTicketEventCount() {
    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.MONTH, -1);
    Date date = cal.getTime();

    List<?> results = repo.getEventCount(true, date);
    return results;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...