java JPA Hibernate调用存储过程
我在Postgres中有一个存储过程。该程序有4个输出参数。通常使用JPA我无法得到结果。我要做的是在这个过程中使用SELECT查询
例如,如果我尝试使用pgAdmin查询:
从get_结果中选择*(arg0、arg1等)
我得到一个包含4列的结果行,其中包含4个OUT参数的结果
但当我尝试在JPA中使用它时,它失败了。我在尝试这样的事情:
Query q = em.createNativeQuery("SELECT * FROM get_results (arg0, arg1 etc)");
q.getSingleResult();
但是它抛出了一个java.lang.IllegalStateException [com.arjuna.ats.internal.jta.transaction.arjunacore.nosuchtx] [com.arjuna.ats.internal.jta.transaction.arjunacore.nosuchtx] No such transaction!
有什么建议吗
# 1 楼答案
使用下面的代码使用hibernate共同调用过程
# 2 楼答案
JPA2.1现在支持存储过程,请阅读Java文档here
例如:
参见详细示例here