Я не знаю, почему, когда я меняю объект в контроллере, он сохраняется в базе данных. Похоже, что у контроллера есть транзакция. Когда я устанавливаю свойство в цикле for, он не сохраняется в базе данных.Почему контроллер имеет транзакцию при потоке при сборе
моя весна контроллер
@RestController
public class CartController {
@Autowired
DeliveryTypeRepository deliveryTypeRepository;
@GetMapping("/cartStepTwoAction")
public ModelAndView cartStepTwoAction() {
List<DeliveryType> dtList = deliveryTypeRepository.findAll();
dtList.stream().forEach(x -> x.setPriceBrutto(new BigDecimal(44)));
// why dirty checking save change ?
...
ModelAndView model = new ModelAndView();
return model;
}
}
и объемлет
@Repository
public class DeliveryTypeRepositoryImpl implements DeliveryTypeRepository {
@PersistenceContext
EntityManager em;
@Override
public List<DeliveryType> findAll() {
String sql = "SELECT e FROM DeliveryType e";
Query query = em.createQuery(sql);
return query.getResultList();
}
}
Определили для Вас 'OpenEntityManagerInViewFilter' либо как часть вашего авто-конфигурации или пользовательской конфигурации? – Naros
no i не определено OpenEntityManagerInViewFilter – user249115