use of org.hibernate.result.Output in project hibernate-orm by hibernate.
the class OracleStoredProcedureTest method testHibernateProcedureCallRefCursor.
@Test
public void testHibernateProcedureCallRefCursor() {
EntityManager entityManager = createEntityManager();
entityManager.getTransaction().begin();
try {
Session session = entityManager.unwrap(Session.class);
ProcedureCall call = session.createStoredProcedureCall("sp_person_phones");
call.registerParameter(1, Long.class, ParameterMode.IN).bindValue(1L);
call.registerParameter(2, Class.class, ParameterMode.REF_CURSOR);
Output output = call.getOutputs().getCurrent();
List<Object[]> postComments = ((ResultSetOutput) output).getResultList();
assertEquals(2, postComments.size());
} finally {
entityManager.getTransaction().rollback();
entityManager.close();
}
}
use of org.hibernate.result.Output in project hibernate-orm by hibernate.
the class OracleStoredProcedureTest method testHibernateProcedureCallRefCursor.
@Test
public void testHibernateProcedureCallRefCursor() {
doInJPA(this::entityManagerFactory, entityManager -> {
// tag::sql-hibernate-call-sp-ref-cursor-oracle-example[]
Session session = entityManager.unwrap(Session.class);
ProcedureCall call = session.createStoredProcedureCall("sp_person_phones");
call.registerParameter(1, Long.class, ParameterMode.IN).bindValue(1L);
call.registerParameter(2, Class.class, ParameterMode.REF_CURSOR);
Output output = call.getOutputs().getCurrent();
List<Object[]> postComments = ((ResultSetOutput) output).getResultList();
assertEquals(2, postComments.size());
// end::sql-hibernate-call-sp-ref-cursor-oracle-example[]
});
}
use of org.hibernate.result.Output in project hibernate-orm by hibernate.
the class HANAStoredProcedureTest method testHibernateProcedureCallRefCursor.
@Test
@TestForIssue(jiraKey = "HHH-12138")
public void testHibernateProcedureCallRefCursor() {
EntityManager entityManager = createEntityManager();
entityManager.getTransaction().begin();
try {
Session session = entityManager.unwrap(Session.class);
ProcedureCall call = session.createStoredProcedureCall("sp_person_phones");
call.registerParameter(1, Long.class, ParameterMode.IN).bindValue(1L);
call.registerParameter(2, Class.class, ParameterMode.REF_CURSOR);
Output output = call.getOutputs().getCurrent();
List<Object[]> postComments = ((ResultSetOutput) output).getResultList();
assertEquals(2, postComments.size());
} finally {
entityManager.getTransaction().rollback();
entityManager.close();
}
}
use of org.hibernate.result.Output in project hibernate-orm by hibernate.
the class ResultMappingTest method testMappingSomeFields.
@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);
});
}
use of org.hibernate.result.Output in project hibernate-orm by hibernate.
the class StoredProcedureTest method baseTest.
@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();
}
Aggregations