Spring Transactionは初めてです。私が本当に奇妙だと思った何か、おそらく私はこれを正しく理解しました。
メソッドレベルのトランザクションを使用したいと思っていて、同じクラス内に呼び出し側メソッドがあり、それが好きではないようです。別のクラスから呼び出す必要があります。どうしてそれが可能か分かりません。
誰かがこの問題を解決する方法を知っているなら、私は非常に感謝します。同じクラスを使用して、注釈付きトランザクションメソッドを呼び出したいと思います。
これがコードです:
public class UserService {
@Transactional
public boolean addUser(String userName, String password) {
try {
// call DAO layer and adds to database.
} catch (Throwable e) {
TransactionAspectSupport.currentTransactionStatus()
.setRollbackOnly();
}
}
public boolean addUsers(List<User> users) {
for (User user : users) {
addUser(user.getUserName, user.getPassword);
}
}
}
TransactionTemplate
アプローチ:stackoverflow.com/a/52989925/355438を