Это плохая идея для доступа к PersistenceManager внутри InstanceLifecycleEvent (JDO)? - PullRequest
0 голосов
/ 10 февраля 2019

Я хотел бы провести аудит своих сущностей через JDO, используя одного из слушателей жизненного цикла.Спецификация указывает, что любые изменения, которые я делаю внутри слушателя, будут частью исходной транзакции.Итак, что я делаю, это сохраняю сущность аудита для другой сущности, вызывая PersistenceManager.makePersistent для сущности аудита.Затем, чтобы избежать бесконечного цикла, я игнорирую любые события для объекта аудита, который я только что сохранил.В противном случае Data Nucleus не мешает мне сделать такую ​​серьезную ошибку.

В спецификации JDO ничего не говорится о том, разрешен ли доступ к PersistenceManager из прослушивателя жизненного цикла, или о каких-либо других последствиях, если вы это делаете (кроме изменений будут в той же транзакции).

Хотя я могу реализовать прослушиватель аудита таким образом, мне интересно, если это плохая идея, кроме возможности переполнения стека, как указано выше.

...