В одном конкретном потоке я сталкиваюсь с странной проблемой с @transactional . />
Код: Выделить всё
@Service
public class OrderRetryFacade {
private final OrderService orderService;
private final OrderProcessingStrategy orderProcessingStrategy;
public OrderRetryFacade(OrderService orderService, OrderProcessingStrategy orderProcessingStrategy) {
this.orderService = orderService;
this.orderProcessingStrategy = orderProcessingStrategy;
}
public void handleRetry(Order order) {
orderService.saveRetryOrder(order);
orderProcessingStrategy.process(order);
}
}
Код: Выделить всё
@Service
public class OrderServiceImpl implements OrderService {
private final OrderRepository orderRepository;
public OrderServiceImpl(OrderRepository orderRepository) {
this.orderRepository = orderRepository;
}
@Override
@Transactional
public void saveRetryOrder(Order order) {
orderRepository.save(order);
}
}
Мы получаем nullpointerexception , потому что порядок не может быть получен с помощью ID на данный момент. /> Насколько я понимаю, было то, что, как только метод, аннотированный с помощью @transactional < /code>, изменения сохраняются и привержены базе данных. Spring? практики?
Подробнее здесь: https://stackoverflow.com/questions/795 ... hod-return