Всем привет!
Вопрос :
Мне в одном методе надо инсертнуть данные в бд, потом возвращается id вновь созданной записи и по этой ид удаляю эту же запись. Т.е. записываю строку в бд и тут же её удаляю.
Использую java, spring, postgres и делаю это так :
@Transactionalpublic class A {
long id = b.insertData(data);
jdbcTemplate.update("delete from table where id = " + id);
}
@Transactional(propagation = Propagation.REQUIRES_NEW, isolation = Isolation.READ_UNCOMMITTED)
public class B {
public long insertData(data) {
jdbcTemplate.update("insert into.....");
//возвращаю id
}
При удалении, ид вновь созданной строки известен, но в момент удаления этой строки ещё нет в бд. Соответственно падает ошибка.
Пробовал использовать в классе B PlatformTransactionManager. Не помогло или неправильно использовал.
Подскажите плз знающие люди.