используйте функцию, которая возвращает таблицу, спящий режим, postgresql

У меня есть рабочая хранимая функция в postgresql db

create or replace function sp1(d1 date, d2 date)
returns table(ServiceType varchar, counter bigint) as $$
begin
return query select servicerequesttype, count(*)as counter from events 
where creationdate>=d1 and creationdate<=d2
group by servicerequesttype 
order by(counter) desc;
end;
$$
language plpgsql;

который возвращает таблицу с двумя столбцами, varchar и bigint. Я выполняю это как

select * from sp1();

Теперь я хочу использовать это в спящем режиме. Насколько я понимаю, я хочу выполнить необработанный запрос в спящем режиме и создать список для результата.

Возможно ли это, или мне нужно полностью переписать хранимые процедуры?


person Stavros Droutsas    schedule 24.11.2018    source источник


Ответы (1)


Вы можете создать представление в базе данных, а затем в коде Java вы можете запросить представление. Этот метод используется, когда у вас есть сложные запросы или агрегированные значения.

@Entity
@Table(name = "V_SERVICE_VIEW")
public class ServiceView {
..
..
}
person Satya    schedule 25.11.2018
comment
Да, но каждый раз, когда я выполняю функцию, я меняю параметры. Представление будет иметь все предыдущие значения или будет пустым? - person Stavros Droutsas; 25.11.2018