Llamar a un store que retorna un SYS_REFCURSOR

public List listUsuario(Long id) throws Exception {
 CallableStatement cstmt = null;
 List list = null;
 try {
 StringBuffer hql = new StringBuffer();
 hql.append("{ call SIG_AUD_PCKG.SIG_LIST_001(?,?) }");
 cstmt = getSession().connection().prepareCall(hql.toString());

 cstmt.setLong(1, id);
 cstmt.registerOutParameter(2, OracleTypes.CURSOR);

 cstmt.execute();

 list = new ArrayList();
 OracleResultSet rs = (OracleResultSet) cstmt.getObject(2);
 if (rs != null) {
 while (rs.next()) {
 u = new Usuario();
 u.setId(rs.getLong(1));
 list.add(u);
 }
 }

 cstmt.close();

 getSession().clear();
 } catch (Exception e) {
 try {
 cstmt.close();
 } catch (Exception e2) {

 }
 throw e;
 }

 return list;
 }

Etiquetas:

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: