Skip to content

Commit a49beaf

Browse files
quaffbeikov
authored andcommitted
HHH-15618 Add tests
1 parent 6e87b38 commit a49beaf

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/procedure/StoredProcedureParameterTypeTest.java

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import javax.sql.rowset.serial.SerialClob;
3131

3232
import org.hibernate.procedure.ProcedureCall;
33+
import org.hibernate.query.TypedParameterValue;
3334
import org.hibernate.type.NumericBooleanConverter;
3435
import org.hibernate.type.StandardBasicTypes;
3536
import org.hibernate.type.TrueFalseConverter;
@@ -46,6 +47,7 @@
4647

4748
/**
4849
* @author Vlad Mihalcea
50+
* @author Yanming Zhou
4951
*/
5052
@DomainModel
5153
@SessionFactory
@@ -425,4 +427,37 @@ public void testStringTypeInParameterIsNullWithoutEnablePassingNulls(SessionFact
425427
);
426428
}
427429

430+
431+
@Test
432+
@TestForIssue(jiraKey = "HHH-15618")
433+
public void testTypedParameterValueInParameter(SessionFactoryScope scope) {
434+
scope.inTransaction(
435+
session -> {
436+
ProcedureCall procedureCall = session.createStoredProcedureCall( "test" );
437+
procedureCall.registerParameter( 1, StandardBasicTypes.STRING, ParameterMode.IN );
438+
procedureCall.setParameter( 1, new TypedParameterValue( StandardBasicTypes.STRING, "test" ) );
439+
440+
procedureCall = session.createStoredProcedureCall( "test" );
441+
procedureCall.registerParameter( "test", StandardBasicTypes.STRING, ParameterMode.IN );
442+
procedureCall.setParameter( "test", new TypedParameterValue( StandardBasicTypes.STRING, "test" ) );
443+
}
444+
);
445+
}
446+
447+
@Test
448+
@TestForIssue(jiraKey = "HHH-15618")
449+
public void testTypedParameterValueInParameterWithNotSpecifiedType(SessionFactoryScope scope) {
450+
scope.inTransaction(
451+
session -> {
452+
try {
453+
ProcedureCall procedureCall = session.createStoredProcedureCall( "test" );
454+
procedureCall.registerParameter( 1, StandardBasicTypes.STRING, ParameterMode.IN );
455+
procedureCall.setParameter( 1, new TypedParameterValue( StandardBasicTypes.INTEGER, 1 ) );
456+
}
457+
catch (IllegalArgumentException e) {
458+
assertTrue( e.getMessage().contains( "was not of specified type" ) );
459+
}
460+
}
461+
);
462+
}
428463
}

0 commit comments

Comments
 (0)