In this article, I have an example for calling a REF_CURSOR stored procedure with JPA and Hibernate:
Assuming this is the stored procedure:
CREATE OR REPLACE PROCEDURE post_comments (
postId IN NUMBER,
postComments OUT SYS_REFCURSOR )
AS
BEGIN
OPEN postComments FOR
SELECT *
FROM post_comment
WHERE post_id = postId;
END;
You simply call it like this:
StoredProcedureQuery query = entityManager
.createStoredProcedureQuery("post_comments")
.registerStoredProcedureParameter(1, Long.class,
ParameterMode.IN)
.registerStoredProcedureParameter(2, Class.class,
ParameterMode.REF_CURSOR)
.setParameter(1, 1L);
query.execute();
List<Object[]> postComments = query.getResultList();
We also have a test in hibernate code base and this is the Driver we use:
com.oracle.jdbc:ojdbc7:12.1.0.2
As for WebLogic, you have to ask Oracle on their support forums since they surely knoww it better.