@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public Integer createUsers(final Collection<MyUser> myUsers) {
final Session session = sessionFactory.getCurrentSession();
for (final MyUser myUser : myUsers) {
/*create auto id from db and asscoiate object with session */
session.save(myUser);
myUser.setPassword("password");
}
return myUsers.size();
}
Новый пароль автоматически сохраняется в db becuase, объект связан с сеансом. Любые дальнейшие изменения myUser в этом методе/сеансе теперь сохраняются в базе данных , если экземпляр объекта не отсоединен/выведен из сеанса.hibernate session scope
Когда метод завершен, транзакция закрыта и сеанс выходит за пределы области действия; если я вернул объект MyUser из этого метода, любые дальнейшие изменения вне этого метода (например, временные изменения в моем контроллере) не сохраняются в базе данных (если, конечно, я не ассоциируюсь с другим сеансом и транзакцией)?
В чем проблема или вопрос? Вы просите подтвердить свое объяснение? – Vlad