JPA 2.1在sql server中调用存储过程

Posted

技术标签:

【中文标题】JPA 2.1在sql server中调用存储过程【英文标题】:JPA 2.1 call stored procedure in sql server 【发布时间】:2014-09-16 13:32:15 【问题描述】:

这里是 JPA 编程的新手。 试图找出从 JPA 调用 sql server 中存储过程的最佳方法。

我看到了很多使用 createSQLQuery 的例子。但我正在考虑使用 JPA 2.1 提供的 createStoredProcedureQuery

存储过程只接受一个输入参数并返回一个 select 语句(未声明输出)

PROCEDURE X
@parametername varchar
as
select
a.name
from a where a. id=parametername

如何使用 createStoredProcedureQuery 做到这一点?我发现的示例需要有一个输出参数,但这里没有输出参数?我猜我错过了什么。有例子吗?

【问题讨论】:

【参考方案1】:

你可以像这样执行你的存储过程:

StoredProcedureQuery query = entityManager.createStoredProcedureQuery("procedure_name");
query.registerStoredProcedureParameter("param1", Integer.class, ParameterMode.IN);
query.setParameter("param1", 123);
query.execute();
List result = query.getResultList();

【讨论】:

以上是关于JPA 2.1在sql server中调用存储过程的主要内容,如果未能解决你的问题,请参考以下文章

JPA 2.1、Eclipselink、SQL Server、Spring - NamedStoredProcedureQuery 结果映射

sql server 存储过程如何调用存储过程

如何在 SQL Server 中检查调用存储过程

在SQL Server2005中,下面调用存储过程的语句错误的是:

在存储过程 sql server 2005 中使用函数调用?

基于Spring Boot,使用JPA动态调用Sql查询数据