Когда я выполняю этот код, объект заказа остается в БД в конце, в котором метка является тестовой.Таким образом, изменение объекта откатывается, но не создание.Я ожидаю, что в БД нет ни заказа, ни записи в чат-канал после звонка
@Autowired
private OrderRepository orderRepository;
@Autowired
private ChatChannelRepository chatChannelRepository;
@RequestMapping(value = "/order/price", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
@Transactional
public double calculatePrice() throws CustomException {
Order order = new Order();
order.setLabel("Test");
orderRepository.save(order);
ChatChannel channel = new ChatChannel();
channel.setOrder(order);
chatChannelRepository.save(channel);
order.setLabel("Test2");
orderRepository.save(order);
throw new RuntimeException("Test");
}
@Transactional
public interface ChatChannelRepository extends
CrudRepository<ChatChannel, Long> {
public ChatChannel findById(long id);
}
@Transactional
public interface OrderRepository extends CrudRepository<Order, Long>
{
public Order findById(long id);
public List<Order> findByBudgetIn(List<Budget> budgets);
public List<Order> findByBudgetInAndCurrentChainPosPhaseEquals(List<Budget> budgets, Phase phase);
public List<Order> findByProcessors(User currentUser);
}