Я занимаюсь разработкой приложения с использованием Eclipselink, и как часть приложения мне нужно иметь возможность манипулировать некоторыми объектами, которые включают изменение данных без их сохранения в базе данных (я объединяю / изменяю объекты для некоторых процессов генерации пакетов) ,
Я неохотно изменяю данные в объектах Entity, поскольку существует риск того, что, хотя я не пометил методы как @Transactional
, в будущем этот метод может быть вызван непреднамеренно изнутри транзакционного метода, и они изменения могут быть сохранены.
Итак, мой вопрос, есть ли способ обойти это? Например, заставить метод всегда быть нетранзакционным; прекратить любую транзакцию, как только метод запущен; и т.д.
Я знаю, что есть метод .detach (), который может отсоединять объекты от Entity Manager, однако есть много объектов, и это кажется потенциально подверженным ошибкам отказоустойчивым в моем коде.