Вызов метода Spring @Transaction методом внутри того же класса не работает? ⇐ JAVA
-
Гость
Вызов метода Spring @Transaction методом внутри того же класса не работает?
Я новичок в Spring Transaction. Что-то мне показалось очень странным, возможно, я правильно это понял.
Я хотел иметь транзакцию на уровне метода, и у меня есть вызывающий метод в том же классе, и кажется, что ему это не нравится, его нужно вызывать из отдельного класса. Я не понимаю, как это возможно.
Если у кого-нибудь есть идеи, как решить эту проблему, буду очень признателен. Я хотел бы использовать тот же класс для вызова аннотированного транзакционного метода.
Вот код:
публичный класс UserService { @Транзакционный public boolean addUser (String userName, String пароль) { пытаться { // вызываем слой DAO и добавляем в базу данных. } catch (Throwable e) { TransactionAspectSupport.currentTransactionStatus() .setRollbackOnly(); } } public boolean addUsers(Listusers) { for (Пользователь-пользователь: пользователи) { addUser(user.getUserName, user.getPassword); } } }
Я новичок в Spring Transaction. Что-то мне показалось очень странным, возможно, я правильно это понял.
Я хотел иметь транзакцию на уровне метода, и у меня есть вызывающий метод в том же классе, и кажется, что ему это не нравится, его нужно вызывать из отдельного класса. Я не понимаю, как это возможно.
Если у кого-нибудь есть идеи, как решить эту проблему, буду очень признателен. Я хотел бы использовать тот же класс для вызова аннотированного транзакционного метода.
Вот код:
публичный класс UserService { @Транзакционный public boolean addUser (String userName, String пароль) { пытаться { // вызываем слой DAO и добавляем в базу данных. } catch (Throwable e) { TransactionAspectSupport.currentTransactionStatus() .setRollbackOnly(); } } public boolean addUsers(Listusers) { for (Пользователь-пользователь: пользователи) { addUser(user.getUserName, user.getPassword); } } }
Мобильная версия