2

我在 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();

现在我想在休眠时使用它。据我了解,我想在休眠状态下执行原始查询并为结果创建一个列表。

这是可能的,还是我必须重写存储过程?

4

1 回答 1

0

您可以在数据库中创建一个视图,然后在 Java 代码中,您可以查询视图 这是一种在您有复杂查询或聚合值时使用的技术。

@Entity
@Table(name = "V_SERVICE_VIEW")
public class ServiceView {
..
..
}
于 2018-11-25T05:18:48.780 回答