Polishing.
Added author tag, JavaDoc and improved test name. See #2540 Original pull request #2542
This commit is contained in:
@@ -32,6 +32,7 @@ import org.springframework.data.repository.query.ParametersParameterAccessor;
|
||||
*
|
||||
* @author Wonchul Heo
|
||||
* @author Jens Schauder
|
||||
* @author Cedomir Igaly
|
||||
* @since 2.7
|
||||
*/
|
||||
class HibernateJpaParametersParameterAccessor extends JpaParametersParameterAccessor {
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package org.springframework.data.jpa.provider;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
@@ -12,37 +15,41 @@ import org.springframework.transaction.PlatformTransactionManager;
|
||||
import org.springframework.transaction.TransactionStatus;
|
||||
import org.springframework.transaction.support.DefaultTransactionDefinition;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
/**
|
||||
* Unit tests for {@link HibernateJpaParametersParameterAccessor}.
|
||||
*
|
||||
* @author Cedomir Igaly
|
||||
*/
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ContextConfiguration("classpath:hjppa-test.xml")
|
||||
public class HibernateJpaParametersParameterAccessorUnitTests {
|
||||
|
||||
@Autowired
|
||||
private EntityManager em;
|
||||
@Autowired private EntityManager em;
|
||||
|
||||
@Autowired
|
||||
private PlatformTransactionManager transactionManager;
|
||||
@Autowired private PlatformTransactionManager transactionManager;
|
||||
|
||||
@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, new Object[]{}, em);
|
||||
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());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user