如何在Spring Boot中调用存储过程?
查询多个delete的存储过程会产生如下所示的错误消息如何在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
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);
}
您可以在这里找到其他过程调用方法