Я проверял одно из действий @Transactional в следующем случае (пример реализован в hibernate)
@Transactional
public Student getStudent(Integer id, String className){
Student student = studentDao.getStudent(id);
student.setCreatedOn(new Date()); // It is not updated in DB.
student.setClassName(className);
return student;
}
Здесь «className» обновляется в БД, но не в поле «createOn». Я не понимаю, почему это так? как это работает ?
Я получил этот сценарий от https://codete.com/blog/5-common-spring-transactional-pitfalls/
Подводный камень # 1: Избыточные вызовы @Transactional или JPA.