У меня возникла следующая проблема при написании тестового примера с использованием нескольких источников данных.
В источнике данных (1) я люблю готовить данные.
В источнике данных (2) я люблю импортировать данные from (1).
Теперь у меня проблема в том, что все это @Transactional. В результате я не могу вставить данные из (2), потому что данные из (1) еще не зафиксированы.
Пример сокращенного кода:
@Test
@Transactional
public void importTest(){
jdbcTemplateDs1.update("INSERT INTO MYTABLE (COL) VALUES ('TEST")');
jdbcTemplateDs2.update("INSERT INTO OTHERTABLE (SELECT * FROM MYTABLE@DATASOURCE1 WHERE col = 'TEST)");
//results in 0 because the first statement wasn't commited yet
jdbcTemplateDs2.queryForList("SELECT * FROM OTHERTABLE").size()
}
Есть ли способ сделать это?