Sono nuovo in Spring Transaction. Qualcosa che ho trovato davvero strano, probabilmente l'ho capito bene.
Volevo avere un livello di metodo transazionale e ho un metodo chiamante all'interno della stessa classe e sembra che non piaccia, deve essere chiamato dalla classe separata. Non capisco come sia possibile.
Se qualcuno ha un'idea di come risolvere questo problema, lo apprezzerei molto. Vorrei utilizzare la stessa classe per chiamare il metodo transazionale annotato.
Ecco il codice:
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
metodo: stackoverflow.com/a/52989925/355438