diff --git a/src/main/java/org/springframework/data/jpa/provider/HibernateJpaParametersParameterAccessor.java b/src/main/java/org/springframework/data/jpa/provider/HibernateJpaParametersParameterAccessor.java index 5bc0eafde..38cb90112 100644 --- a/src/main/java/org/springframework/data/jpa/provider/HibernateJpaParametersParameterAccessor.java +++ b/src/main/java/org/springframework/data/jpa/provider/HibernateJpaParametersParameterAccessor.java @@ -33,6 +33,7 @@ import org.springframework.data.repository.query.ParametersParameterAccessor; * * @author Wonchul Heo * @author Jens Schauder + * @author Cedomir Igaly * @since 2.7 */ class HibernateJpaParametersParameterAccessor extends JpaParametersParameterAccessor { diff --git a/src/test/java/org/springframework/data/jpa/provider/HibernateJpaParametersParameterAccessorUnitTests.java b/src/test/java/org/springframework/data/jpa/provider/HibernateJpaParametersParameterAccessorUnitTests.java index 67f0ec59c..3bf363a31 100644 --- a/src/test/java/org/springframework/data/jpa/provider/HibernateJpaParametersParameterAccessorUnitTests.java +++ b/src/test/java/org/springframework/data/jpa/provider/HibernateJpaParametersParameterAccessorUnitTests.java @@ -15,6 +15,11 @@ import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.support.DefaultTransactionDefinition; +/** + * Unit tests for {@link HibernateJpaParametersParameterAccessor}. + * + * @author Cedomir Igaly + */ @ExtendWith(SpringExtension.class) @ContextConfiguration("classpath:hjppa-test.xml") public class HibernateJpaParametersParameterAccessorUnitTests { @@ -25,23 +30,25 @@ public class HibernateJpaParametersParameterAccessorUnitTests { @Test void withoutTransaction() throws NoSuchMethodException { - simpleTest(); + parametersCanGetAccessesOutsideTransaction(); } @Test void withinTransaction() throws Exception { - final TransactionStatus tx = transactionManager.getTransaction(new DefaultTransactionDefinition()); + + TransactionStatus tx = transactionManager.getTransaction(new DefaultTransactionDefinition()); try { - simpleTest(); + parametersCanGetAccessesOutsideTransaction(); } finally { transactionManager.rollback(tx); } } - private void simpleTest() throws NoSuchMethodException { - final Method method = EntityManager.class.getMethod("flush"); - final JpaParameters parameters = new JpaParameters(method); - final HibernateJpaParametersParameterAccessor accessor = new HibernateJpaParametersParameterAccessor(parameters, + private void parametersCanGetAccessesOutsideTransaction() throws NoSuchMethodException { + + Method method = EntityManager.class.getMethod("flush"); + JpaParameters parameters = new JpaParameters(method); + HibernateJpaParametersParameterAccessor accessor = new HibernateJpaParametersParameterAccessor(parameters, new Object[] {}, em); Assertions.assertEquals(0, accessor.getValues().length); Assertions.assertEquals(parameters, accessor.getParameters());