У меня есть простой метод контроллера, где я создаю новый объект Car
, а затем задаю его имя Audi
:
@GetMapping(value = "/resource")
public ResponseEntity visit() {
Car car = carRepo.save(new Car("VolksWagen")); // Car should be managed now?
car.setName("Audi"); // <-- has no effect on database state
return ResponseEntity.ok().build();
}
В базе данных он никогда не становится Audi
, но остается VolksWagen
.
Почему это происходит? Разве только что созданный Car
должен находиться в управляемом состоянии для постоянства контекста?
Примечание. Работает, если добавить аннотацию @Transactional
. Я думал, что будет достаточно, если OSIV включен. Что я неправильно понимаю по поводу OSIV и @Transactional
?