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

时间:2014-09-16 13:32:15

标签: sql sql-server stored-procedures entity jpa-2.1

这里是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 个答案:

答案 0 :(得分:1)

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

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