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 Server2005中,下面调用存储过程的语句错误的是: