StoredProcedureQuery是否用于调用Oracle函数?

时间:2014-09-04 09:02:23

标签: jpa eclipselink

您好我使用的是Eclipselink 2.5.1

我想知道,是否可以使用javax.persistence.StoredProcedureQuery调用Oracle Pl / Sql 函数

我尝试过这样做,但收到错误PLS-00221: 'function_name' is not a procedure or is undefined

如果不是,如果我想坚持JPA标准,那么调用函数的正确方法是什么?没有类型StoredFunctionQuery。我是否必须在查询中执行select语句?

1 个答案:

答案 0 :(得分:1)

JPA StoredProcedureQuery映射到JDBC CallableStatement。这就是所有要知道的。如果Oracle“函数”可以使用它来调用,那么任何JPA实现都应该能够使用JPA API调用它们。

如果“Oracle函数”是普通的SQL函数,那么您可以在JPA 2.1中使用“FUNCTION(funcName,args)”在任何普通的JPQL语句中使用它们