@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();
}
オブジェクトはセッションによってasscoiatedされるので、新しいパスワードはdbに自動的に保存されます。このメソッド/セッション内のmyUser のそれ以上の変更は、オブジェクトインスタンスがセッションから切り離されていない限り、データベースに保持されます。休止状態のセッションスコープ
このメソッドが完了すると、トランザクションは閉じられ、セッションは有効範囲外になります。このメソッドからMyUserオブジェクトを返すと、このメソッド以外の変更(コントローラの一時的な変更など)はデータベースに永続化されません(もちろん別のセッションやトランザクションに関連付ける場合を除きます)。
問題または質問は何ですか?あなたの説明を確認するように頼んでいますか? – Vlad