Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Spring Boot中调用存储过程?_Spring_Spring Boot_Hibernate_Stored Procedures_Spring Data Jpa - Fatal编程技术网

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

如何在Spring Boot中调用存储过程?,spring,spring-boot,hibernate,stored-procedures,spring-data-jpa,Spring,Spring Boot,Hibernate,Stored Procedures,Spring Data Jpa,查询多个delete的存储过程会产生如下所示的错误消息 CREATE或REPLACE过程delete\u dim\u page(\u page\u id bigint) 语言plpgsql AS$程序$ 开始 从页面目录中删除,其中页面类型=页面id; 从页面类型中删除,其中页面类型id=\u页面id; 结束; $procedure$ ; //entityclass @NamedStoredProcedureQuery( name=“firstProcedure”, procedureName

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

CREATE或REPLACE过程delete\u dim\u page(\u page\u id bigint)
语言plpgsql
AS$程序$
开始
从页面目录中删除,其中页面类型=页面id;
从页面类型中删除,其中页面类型id=\u页面id;
结束;
$procedure$
;
//entityclass

@NamedStoredProcedureQuery(
name=“firstProcedure”,
procedureName=“删除尺寸页面”,
参数={
@存储过程参数(
模式=ParameterMode.IN,
name=“\u page\u id”,
type=Long.class
)
}
)
//service.java

StoredProcedureQuery=em.createNamedStoredProcedureQuery(“第一个过程”);
query.setParameter(“\u page\u id”,pageTypeId);
query.execute();
屈服

错误:删除页面1(bigint)是一个过程
提示:要调用过程,请使用call


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

我想yiu使用的是Spring数据jpa。 您只需创建一个jpa存储库,并使用如下注释调用您的过程:

public interface PageCatalogRepository extends JpaRepository<PageCatalogEntity , Long> {
    @Query(value = "CALL firstProcedure(:page_id);", nativeQuery = true)
    void deletePageCatalogById(@Param("page_id") Long page_id);
}
公共接口页面CatalogRepository扩展了JpaRepository{
@查询(value=“callfirstprocedure(:page_id);”,nativeQuery=true)
void deletePageCatalogById(@Param(“page_id”)长page_id);
}
您可以在这里找到其他过程调用方法