【问题标题】:use a function which return table, hibernate, postgresql使用返回表、休眠、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();

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

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

【问题讨论】:

    标签: postgresql hibernate spring-boot stored-functions


    【解决方案1】:

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

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

    【讨论】:

    • 是的,但是每次执行该函数时,我都会更改参数。视图将具有所有以前的值还是为空?
    猜你喜欢
    • 2016-05-06
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 2014-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多