使用返回表、休眠、postgresql 的函数
Posted
技术标签:
【中文标题】使用返回表、休眠、postgresql 的函数【英文标题】:use a function which return table, hibernate, postgresql 【发布时间】:2018-11-24 08:42:54 【问题描述】:我在 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】:您可以在数据库中创建一个视图,然后在Java代码中,您可以查询视图 当您有复杂的查询或聚合值时,这是一种使用的技术。
@Entity
@Table(name = "V_SERVICE_VIEW")
public class ServiceView
..
..
【讨论】:
是的,但是每次执行该函数时,我都会更改参数。视图将具有所有以前的值还是为空?以上是关于使用返回表、休眠、postgresql 的函数的主要内容,如果未能解决你的问题,请参考以下文章