Coldfusion ORM и Hibernate фильтры

Я спрашиваю вас, потому что я ищу полезное решение для автоматической фильтрации моих коллекций сущностей.

Почти каждая из моих моделей имеет свойство true/false, называемое «активным», которое разрешает или запрещает загрузку объекта. Это использование только в передней части.

После долгих поисков я нашел механизм спящего режима фильтра, и он похож на то, что я ищу. Но, к сожалению, я не нашел способа использовать его через Coldfusion, кроме как с помощью autogenmap = true и вручную изменить .HBMXML. Я не нахожу это решение очень привлекательным и ищу лучшее. Кто-нибудь ?

Спасибо!


person LarZuK    schedule 30.05.2011    source источник


Ответы (1)


<cfproperty name="unsoldArts" cfc="Art" 
            fieldtype="one-to-many" fkcolumn="ARTISTID" where="issold=0">

http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WS5FFD2854-7F18-43ea-B383-161E007CE0D1.html

Вы можете использовать where="", если хотите, но мой CFC обычно должен управлять всеми объектами, даже когда он не активен.

person Henry    schedule 30.05.2011
comment
Да, ты прав! Прошу прощения, что написал этот пост слишком быстро. Я хотел бы иметь возможность отключать/включать эту функцию программно. Я подумал о ormGetSession().enableFilter() и ormGetSessionFactory().getDefinedFilterNames(), которые позволяют управлять фильтрами. Но я не нашел способ создать его динамически. - person LarZuK; 30.05.2011
comment
динамически? Почему бы вам не использовать старый добрый entityLoad с фильтрами? - person Henry; 31.05.2011
comment
Потому что я не хочу писать эти фильтры каждый раз, когда делаю запрос. Свойство «активный» есть почти у всех моделей. И «EntityLoad» не принимает фильтр, когда вы запрашиваете одну запись с его ПК. Итак, я хочу забыть свойство «активно» для всего приложения. И я хочу иметь возможность включать/выключать этот фильтр, когда администратор делает запрос и хочет видеть неактивные записи для отладки или предварительного просмотра. - person LarZuK; 31.05.2011