首页 > 技术文章 > JPA entitymanager 如何获取Oracle 返回的cursor结果

Christy-Zhou-Zhao 2014-05-17 12:58 原文

 

更多详情可以参考  http://www.objectdb.com/api/java/jpa/annotations/sql 

以下是参照网友的例子

  1. create or replace procedure  
  2.     findPerson(my_cursor out sys_refcursor, param in string)    
  3. as    
  4. begin    
  5.     open my_cursor for    
  6.         select p.* from persons p where u.name like param;    
  7.   
  8. end findPerson; 

 

  1. @NamedNativeQuery(name = "personQuery",    
  2.     resultClass = Person.class,    
  3.     query = "{call findPerson(?, :personName)}",    
  4.     hints = {    
  5.        @QueryHint(name = "org.hibernate.callable", value = "true")  
  6.    }    
  1. Query query = em.createNamedQuery("personQuery");    
  2. query.setParameter("personName","john");    
  3. List folks = query.getResultList();  

推荐阅读