OptimisticLockException
и ConcurrentModificationException
(я полагаю, это от java.util
) - два совершенно разных исключения, которые не взаимозаменяемы.
Первый, как следует из его названия, связан с оптимистической блокировкой, которая в основном означает, что другая транзакция зафиксировала изменения в сущностях, которые вы пытались обновить.
Второй объект выдается при одновременной модификации объекта, когда такая модификация недопустима. Например, когда вы пытаетесь удалить элемент из коллекции, через которую вы проходите. Я не могу вывести из предоставленного вами фрагмента, что именно вызывает это исключение в вашем случае, но оно не связано с оптимистической блокировкой и JPA в целом.