Есть ли способ перехватывать / изменять операторы SQL на основе JDO, чтобы изменять их на лету?Или вообще JDO Interceptors? - PullRequest
0 голосов
/ 04 февраля 2019

Я исследую, есть ли способ включить некоторую фильтрацию данных Auth в мое приложение непосредственно на уровне ORM.То есть вместо того, чтобы возвращать набор данных из БД и затем реализовывать некоторую фильтрацию в возвращенном наборе данных, применяйте фильтры непосредственно на сгенерированном уровне SQL.Это потребовало бы перехвата и манипулирования сгенерированным SQL напрямую путем добавления дополнительных предложений WHERE к сгенерированному запросу SQL, ограничивающего возвращаемый набор данных.

В качестве альтернативы, я могу потенциально фильтровать наборы данных, однажды возвращенные БД, но до потребленияпо моей бизнес-логике.Концептуально, это может быть сделано в Hiberante через org.hibernate.Interceptor s, но я не могу найти, есть ли эквивалентная поддержка в JDO / DataNucleus.Я вижу, что существует обратных вызовов жизненного цикла , но я не могу точно определить, есть ли способ использовать обратный вызов для "блокирования / уничтожения" сущностей, если они должны быть отфильтрованы из возвращенного набора данных.

Возможен ли вариант (изменение SQL или перехват / изменение возвращаемых объектов), или я слишком много спрашиваю о JDO / ORM?

...