Я прочитал пару вопросов здесь относительно OptimisticLockException
с JPA, используемым в сессионном компоненте без состояния. Это брошено, но не там, где я этого ожидаю.Как поймать OptimisticLockException в JPA
Вот код, где я ожидаю, чтобы получить исключение:
try
{
productFacade.edit(product);
}
catch(Exception {
return "lock";
}
productFacade
генерируются с NetBeans и является EJB с локальным интерфейсом, об этом, это реализует AbstractFacade
абстрактного класс. Насколько я понимаю, это связано с транзакциями в JPA. Поскольку исключение вызывается после того, как метод, содержащий этот фрагмент кода, остается, а не после вызова edit()
. Где я должен обрабатывать исключение?
Кроме того, мне понадобится механизм транзакции позже, потому что мне нужно будет обновить несколько продуктов (или нет, если некоторые заблокированы). Я нашел несколько примеров кода, но это оставляет мне интересно, как мне работать с транзакциями?
Можете ли вы добавить больше кода, не отображается какой-либо соответствующий код, как управляются транзакции, выполняет ли следующий метод в рамках одной и той же транзакции и т. Д. –
Я использую транзакции JTA и Контейнера. Я попытался переключиться на транзакции с контролируемым бином и управлять своими собственными транзакциями, но это действительно не помогло. Как проверить, выполняется ли следующий метод в рамках одной транзакции? –
Как уже упоминалось, обновите сообщение соответствующим кодом, помогите всем. –