小编Spa*_*ana的帖子

Spring Boot中如何调用存储过程?

对多个删除的存储过程的查询会产生如下所示的错误消息。

CREATE OR REPLACE PROCEDURE delete_dim_page(_page_id bigint)
 LANGUAGE plpgsql
 AS $procedure$
    
begin
   delete from page_catalog where page_type_id = _page_id;
   delete from page_type where page_type_id = _page_id;
END;
$procedure$
;
Run Code Online (Sandbox Code Playgroud)

//实体类

@NamedStoredProcedureQuery(
    name = "firstProcedure",
    procedureName = "delete_dim_page",
    parameters = {
        @StoredProcedureParameter(
            mode=ParameterMode.IN,
            name="_page_id",
            type = Long.class
        )
    }
)
Run Code Online (Sandbox Code Playgroud)

//服务.java

    StoredProcedureQuery query = em.createNamedStoredProcedureQuery("firstProcedure");
    query.setParameter("_page_id", pageTypeId);
    query.execute();
Run Code Online (Sandbox Code Playgroud)

产量

错误:delete_dim_page1(bigint) 是一个过程
提示:要调用过程,请使用 CALL。

在 Spring Boot 中调用存储过程的推荐方法是什么?

spring stored-procedures hibernate spring-data-jpa spring-boot

2
推荐指数
1
解决办法
4万
查看次数