我已经实现了一个从hibernate调用存储过程的代码。 sp返回一个游标,如何在List中获得结果。
下面是我调用sp的代码。如何从 callstm.getObject(1);
创建列表我正在使用Oracle。
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();
}
}
});
提前致谢。
答案 0 :(得分:0)
我认为这应该有用。
...
callstm.execute();
ResultSet rset = (ResultSet)callstm.getObject(1);
while (rset.next()){
System.out.println(rset.getString(columnIndex));
}
// Close all the resources
...