Tag: sys refcursor

如何使用EclipseLink调用函数

如何调用使用EclipseLink返回sys_refcursor的Oracle函数? 有一个文档说明了调用一个函数,但不知道如何调用一个返回sys_refcursor的函数。 http://eclipse.org/eclipselink/documentation/2.4/jpa/extensions/a_namedstoredfunctionquery.htm 我试过如下 @NamedStoredFunctionQuery(name = “findEmployees”, functionName = “getEmps”, parameters = { @StoredProcedureParameter(queryParameter = “user”, name = “username”, direction = Direction.IN, type = String.class) } , returnParameter = @StoredProcedureParameter(queryParameter = “c_cursor”) ) Oraclefunction CREATE or REPLACE FUNCTION getEmps (username varchar2) RETURN SYS_REFCURSOR AS c_cursor SYS_REFCURSOR; BEGIN OPEN c_cursor FOR SELECT * FROM employees where […]

如何使用Hibernate(EntityManager)或JPA 2调用Oracle函数或过程

我有一个返回sys-refcursor的Oracle函数,当我使用Hibernate 4调用此函数时,我收到以下exception。 Hibernate: { ? = call my_function(?) } org.hibernate.exception.GenericJDBCException: could not execute query javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute query at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1360) at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1288) at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:313) 我该如何解决这个问题? Oraclefunction create or replace FUNCTION my_function(p_val IN varchar2) RETURN SYS_REFCURSOR AS my_cursor SYS_REFCURSOR; BEGIN OPEN my_cursor FOR SELECT emp_name FROM employees WHERE lower(emp_name) like lower(p_val||’%’); RETURN my_cursor; END; […]