используйте функцию, которая возвращает table, hibernate, postgresql - PullRequest
0 голосов
/ 24 ноября 2018

У меня есть рабочая хранимая функция на 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();

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

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

1 Ответ

0 голосов
/ 25 ноября 2018

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

@Entity
@Table(name = "V_SERVICE_VIEW")
public class ServiceView {
..
..
}
...