да, это правда, спасибо, mbayloon

я есть весенний проект под Java, используя Hibernate запрос, я хотел бы использовать пессимистическую блокировку.

Как сделать пессимистическую блокировку в Spring + Hibernate?

Редактировать:

@Loggable(value = LogLevel.TRACE)
@Transactional
@Override
public void updateBalance(String id, BigDecimal amount) {
    Session session = sessionFactory.getCurrentSession();
    sessionFactory.openSession();
    Transaction tx = session.beginTransaction();
    session.flush();
    Account acc = (Account) session.get(Account.class, id, LockMode.UPGRADE);
    acc.setName("New Account");
    acc.setBalance(acc.getBalance().subtract(amount));
    save(acc);
    try{
        tx.commit();
    }catch (TransactionException e){
        tx.rollback();
    }
    session.close();
}

Проблема:

я хочу использовать пессимистическую блокировку в методе, и я вызываю этот метод из разных методов. пессимистично работает, когда я вызываю его из первого метода, но дает (транзакция не может быть зафиксирована), когда я вызываю его из второго метода

Исключение:

Could not commit Hibernate transaction; nested exception is org.hibernate.
TransactionException: Transaction not successfully started

Ответы на вопрос(1)

Ваш ответ на вопрос