@Test public void baseTest() { Session session = openSession(); session.beginTransaction(); ProcedureCall procedureCall = session.createStoredProcedureCall( "user"); ProcedureOutputs procedureOutputs = procedureCall.getOutputs(); Output currentOutput = procedureOutputs.getCurrent(); assertNotNull( currentOutput ); ResultSetOutput resultSetReturn = assertTyping( ResultSetOutput.class, currentOutput ); String name = (String) resultSetReturn.getSingleResult(); assertEquals( "SA", name ); session.getTransaction().commit(); session.close(); }
@Test public void testGetSingleResultTuple() { Session session = openSession(); session.beginTransaction(); ProcedureCall query = session.createStoredProcedureCall( "findOneUser" ); ProcedureOutputs procedureResult = query.getOutputs(); Output currentOutput = procedureResult.getCurrent(); assertNotNull( currentOutput ); ResultSetOutput resultSetReturn = assertTyping( ResultSetOutput.class, currentOutput ); Object result = resultSetReturn.getSingleResult(); assertTyping( Object[].class, result ); String name = (String) ( (Object[]) result )[1]; assertEquals( "Steve", name ); session.getTransaction().commit(); session.close(); }
@Test public void testMappingAllFields() { inTransaction( session -> { final ProcedureCall call = session.createStoredProcedureCall( "findOneUser", "all-fields" ); final ProcedureOutputs procedureResult = call.getOutputs(); final Output currentOutput = procedureResult.getCurrent(); assertNotNull( currentOutput ); final ResultSetOutput resultSetReturn = assertTyping( ResultSetOutput.class, currentOutput ); final Object result = resultSetReturn.getSingleResult(); assertTyping( H2ProcTesting.MyEntity.class, result ); assertEquals( "Steve", ( (H2ProcTesting.MyEntity) result ).name ); } ); }
@Test public void testMappingNoFields() { inTransaction( session -> { final ProcedureCall call = session.createStoredProcedureCall( "findOneUser", "no-fields" ); final ProcedureOutputs procedureResult = call.getOutputs(); final Output currentOutput = procedureResult.getCurrent(); assertNotNull( currentOutput ); final ResultSetOutput resultSetReturn = assertTyping( ResultSetOutput.class, currentOutput ); final Object result = resultSetReturn.getSingleResult(); assertTyping( H2ProcTesting.MyEntity.class, result ); assertEquals( "Steve", ( (H2ProcTesting.MyEntity) result ).name ); } ); } }
@Test public void testMappingSomeFields() { inTransaction( session -> { final ProcedureCall call = session.createStoredProcedureCall( "findOneUser", "some-fields" ); final ProcedureOutputs procedureResult = call.getOutputs(); final Output currentOutput = procedureResult.getCurrent(); assertNotNull( currentOutput ); final ResultSetOutput resultSetReturn = assertTyping( ResultSetOutput.class, currentOutput ); final Object result = resultSetReturn.getSingleResult(); assertTyping( H2ProcTesting.MyEntity.class, result ); assertEquals( "Steve", ( (H2ProcTesting.MyEntity) result ).name ); } ); }
@Test public void testResultClass() { inTransaction( session -> { final ProcedureCall call = session.createStoredProcedureCall( "findOneUser", H2ProcTesting.MyEntity.class ); final ProcedureOutputs procedureResult = call.getOutputs(); final Output currentOutput = procedureResult.getCurrent(); assertNotNull( currentOutput ); final ResultSetOutput resultSetReturn = assertTyping( ResultSetOutput.class, currentOutput ); final Object result = resultSetReturn.getSingleResult(); assertTyping( H2ProcTesting.MyEntity.class, result ); assertEquals( "Steve", ( (H2ProcTesting.MyEntity) result ).name ); } ); }