Я работаю над приложением, в котором мне нужно реализовать оптимистическую блокировку с использованием JPA.Это приложение, которое уже разработано, и мне нужно настроить код для оптимизации подхода к блокировке.Что касается документации JPA онлайн, я читал, что использование тега @Version помогает с оптимистичной блокировкой.Однако это предполагает использование дополнительного столбца.Поэтому вместо этого я добавил версию в @Id, которая автоматически создается, как показано ниже:
@Version
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "data")
private Long dataId;
Я использую extends JPARepository для реализации моих классов репозитория.Я также добавил тег @Lock, чтобы сделать оптимизацию сохранения в моем классе репозитория, как показано ниже,
@Lock(LockModeType.OPTIMISTIC)
@Override
<S extends Data> S save(S entity);
Я написал несколько тестовых случаев, используя TransactionTemplate для выполнения различных транзакций, и когдаЯ выполнил тестовый пример и получил следующее исключение:
org.springframework.dao.CannotAcquireLockException: не удалось выполнить оператор;SQL [н / п];Вложенное исключение - org.hibernate.exception.LockTimeoutException: не удалось выполнить оператор в org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException (HibernateJpaDialect.java:250) в org.springframework.ormpa(HibernateJpaDialect.java:225) при org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible (AbstractEntityManagerFactoryBean.java:527) при org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible (ChainedPersistenceExceptionTranslator.java:61) при org.springframework.Дао185) на org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor $ CrudMethodMetadataPopulationMethodInterceptor.invoke (CrudMethodMetadataPostProcessor.java:135)
Может ли кто-нибудь помочь мне с помощью вставки данных, чтобы получить оптимистический запрос для получения инструкций или совета о том, что мне нужно, чтобы получить оптимистическую подсказку для получения инструкций или советов о том, для чего мне нужен оптимистический запрос, чтобы получить какие-либо рекомендации для получения совета или совета по поводу1017 *