определенная валиция.
                  
                  
                  Я добавил Hibernate interceptor, который это проверяет и выкидывает org.hibernate.CallbackException.
                  
                  
                  При этом, я хочу чтобы сервис метод был
                  
                  
                  1. Транзакционным
                  
                  
                  2. Не происходит роллбэк на эксепшон интерсептора
                  
                  
                  3. Происходил роллбэк на другие эксепшоны.
                  
                  
                  То-есть выглядит это так:
                  
                  
                  Есть транзакционный сервис метод, который в цикле запускает некий метод, который выбрасывает CallbackException после неудачной валидации, но там в транзакции это оборачивается в JpaSystemException, который я ловлю и просто логаю warning. И если поймали - просто переходим на некст итерацию. Если выпадет условный IllegalArgumentException - падаем и роллбэк.
                  
                  
                  Сейчас это работает когда метод не транзакционный, но тогда не будет роллбэка на другие эксепы.
                  
                  
                  @Transactional(noRollbackFor = JpaSystemException.class)  = не помогает
                  
                  
                  Че делать?)
                  
                  
                  Могу скинуть код
                  
                  
                
Руками метод в транзакции можно запустить и роллбэк прописать.
Ну можно не через аннотации транзакции накручивать, а управляя вручную. Почитай про TransactionTemplate - может покатит.
Обсуждают сегодня