Ich bin neu bei Spring Transaction. Etwas, das ich wirklich seltsam fand, wahrscheinlich habe ich das richtig verstanden.
Ich wollte eine Transaktion auf Methodenebene haben und ich habe eine Aufrufermethode innerhalb derselben Klasse und es scheint, dass es nicht so ist, es muss von der separaten Klasse aufgerufen werden. Ich verstehe nicht, wie das möglich ist.
Wenn jemand eine Idee hat, wie dieses Problem behoben werden kann, würde ich mich sehr freuen. Ich möchte dieselbe Klasse verwenden, um die mit Anmerkungen versehene Transaktionsmethode aufzurufen.
Hier ist der Code:
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
Ansatz an: stackoverflow.com/a/52989925/355438