使用返回表,休眠,PostgreSQL的函数

时间:2018-11-24 08:42:54

标签: postgresql hibernate spring-boot stored-functions

我在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 :(得分:0)

您可以在数据库中创建一个视图,然后在Java代码中可以查询视图 当您有复杂的查询或汇总值时,可以使用此技术。

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