У меня есть тест JUnit, который должен обновить столбец существующей строки, прежде чем дальнейшие операции будут выполнены и проверены на основе этого столбца.Но моя проблема в том, что столбец не обновляется даже после выхода из границы @Transactional.Мой код выглядит примерно так:
@RunWith(UnitilsJUnit4TestClassRunner.class)
@SpringApplicationContext(
{ "applicationContext.xml" })
public class TestClass
{
@SpringBeanByType
TestTableDBUtil util;
@Test
public void test()
{
util.updateColumnA(id, true);
/* I do not see the column A value commited on returning from this function */
/* Operations and validations based on the updated column ensue */
}
}
@Component
@ContextConfiguration(locations =
{ "/applicationContext.xml" })
@TransactionConfiguration
public TestTableDBUtil
{
@Autowired
private MyTableRepository myTableRepo;
@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
public void updateColumnA(Long id, boolean value)
{
MyEntity myEntity = myTableRepo.readByPrimaryKey(id);
myEntity.setColumnA(value);
myTableRepo.saveAndFlush(myEntity);
}
}