Я ищу интеллектуальный способ преобразования этой инструкции SQL в @NamedQuery - если есть способ вообще?SQL to JPA @NamedQuery Conversion
SELECT MONTH(dateField), sum(value) FROM mydb.records where status ='paid' group by MONTH(dateField) order by MONTH(dateField);
У меня есть JPA @Entity называется Record (Hibernate). Здесь указаны все счета-фактуры в системе, которые создаются ежедневно. В месяц будет много записей. Каждая запись будет иметь статус оплаченной, просроченной, стоимости и много другой информации, такой как имя и адрес клиента и т. Д.
Вышеуказанное заявление в основном суммирует все данные по месяцам и суммам стоимость всех оплаченных счетов в месяц giveing сводку всех счетов-фактур, выплаченных в январе, все оплачено в феврале и так далее ..... результат выглядит нечто вроде:
datefield value
1 4500
2 5500
3 5669
единственный способ, которым я могу думать делая это с помощью JPA @NamedQuery, нужно выбрать все записи в таблице, которые имеют статус «pai'd», а затем использовать мой код Java для сортировки, упорядочивания и добавления в довольно медленном и уродливом виде! Есть ли способ сделать это с помощью @NamedQuery?
Благодаря
Спасибо за быстрый ответ Kevin, выглядит великолепно и намного проще, чем мой цикл Java! Итак, этот новый «вид» автоматически сопоставляется с JPA '@' Entity MONTHLY_REVENUE {}, который я создаю? И тогда результат @ @ 'NamedQuery, который выберет все в новой' @ 'Entity MONTHLY_REVENUE, даст результаты? – user1843591
@ user1843591 Точно. –
Привет, Кевин, могу ли я добавить динамическое значение или динамический параметр в представление? например view as u описал..xxx, где status = 'paid' и где vendorid = $ {} .... Я слишком упростил свой первоначальный вопрос. Исходное решение объединяет все счета-фактуры для всех поставщиков. Я разрешаю продавцам входить в систему и просматривать их данные, но все они хранятся в одной таблице, поэтому я хотел бы только агрегировать на поставщике по принципу поставщика ... – user1843591