Я реализовал дескрипторEventAdapter для JPA (eclipselink). Он выполняет простые операции с меткой времени. Вызывается метод preUpdate, однако он вызывается слишком часто. Он вызывается и обновляет метку времени, даже при поиске/выборе операций.JPA PreUpdate реализован с использованием дескриптораEventAdapter, вызванного после find/select
Проблема, с которой я столкнулся, как представляется, встречается в другой структуре JPA также, http://markmail.org/message/nank44rgp4xi2ita#query:JPA%20preupdate%20being%20called%20after%20find+page:1+mid:xssqpg7hm4mesfl5+state:results.
Я попытался:
- проверки ревизии, на DescriptorEvent, это всегда нулевая проверка
- код на DescriptorEvent, это всегда 6
У меня есть не удалось найти какой-либо другой флаг или атрибут, который говорит, что «этот объект действительно обновлен».
Как заставить preUpdate действовать только тогда, когда запись действительно была обновлена, а не просто выбрана?
Вы также попробовали gettng UnitOfWork через event.getSession(). Это вызывает StackOverflowError при запуске сервера. – Freiheit