我已经实现了一个从休眠调用存储过程的代码。sp 返回一个游标,如何在列表中获取结果。
下面是我调用 sp 的代码。如何从 callstm.getObject(1) 创建列表;
我正在使用甲骨文。
Transaction tx = sessionFactory.getCurrentSession().beginTransaction();
Session session = sessionFactory.getCurrentSession();
session.doReturningWork(new ReturningWork<Object>() {
@SuppressWarnings( "unchecked" )
@Override
public Object execute( Connection aConnection ) throws SQLException
{
CallableStatement callstm = null;
try
{
String functionCall = "{call PORTAL_PKG._pp_member_login(?, ?, ?, ? )}";
callstm = aConnection.prepareCall( functionCall );
callstm.registerOutParameter( 1, OracleTypes.CURSOR );
callstm.setString( 2, "Partner" );
callstm.setString( 3, "Member" );
callstm.setString( 4, "test@123" );
callstm.execute();
callstm.getObject(1);
}
finally
{
callstm.close();
}
}
});
提前谢谢。
我认为这应该有效。
...
callstm.execute();
ResultSet rset = (ResultSet)callstm.getObject(1);
while (rset.next()){
System.out.println(rset.getString(columnIndex));
}
// Close all the resources
...