2015-08-13 4 views
0

Я использую фильтр hibernate для фильтрации объектов домена, каждый пользователь видит только свои данные.Override get in DomainClass

Это работает на .get().

Страница плагинов предлагает использовать .findById().

Причина в том, что get не рассматривается как запрос, и мой спящий фильтр не применяется. Следовательно, пользователь будет видеть данные другого пользователя, который, конечно, не должен.

Теперь я ищу эффективный способ заменить все мои .get() на .findBy().

Есть ли способ достичь этого путем расширения?

Все мои классы домена расширяют BaseDomainClass.

ответ

0

Вы можете переопределить метод get() с использованием MetaClass Groovy. Вы можете сделать это, поставив это внутри init закрытие в вашем Bootstrap.groovy.

BaseDomainClass.metaClass.static.get = {Serializable id -> 
    delegate.findById(id) 
} 

Примечание: Вы, возможно, придется импортBaseDomainClass в Bootstrap.groovy.

 Смежные вопросы

  • Нет связанных вопросов^_^