2011-05-30 35 views
0

我問你,因爲我正在尋找一個有用的解決方案來自動過濾我的實體集合。Coldfusion ORM和休眠過濾器

幾乎我的每一個模型都有一個屬性true/false,稱爲「活動」,授權或不加載實體。它只用於前端。

經過大量的谷歌搜索後,我發現了hibernate Filter機制,它看起來像我在尋找的東西。 但不幸的是,我發現沒有辦法通過ColdFusion使用它,除了使用autogenmap = true並手動修改.HBMXML。 我不覺得這個解決方案非常性感,而且我更好。任何人 ?

謝謝!

回答

0
<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通常需要管理的所有實體,即使是不活躍的。

+0

是的,你是對的! 對不起,我寫這篇文章太快了。我希望能夠以編程方式關閉/啓用此功能。 我在ormGetSession()。enableFilter()和ormGetSessionFactory()。getDefinedFilterNames()方面想過,它允許管理過濾器。但我沒有找到動態創建它的方法。 – LarZuK 2011-05-30 18:52:33

+0

動態?你爲什麼不用帶有過濾器的古老的entityLoad? – Henry 2011-05-30 21:22:54

+0

因爲我不想在每次查詢時都寫這些過濾器。幾乎所有型號都有「活動」屬性。當你用他的PK問單個記錄時,'EntityLoad'不接受過濾器。所以,我想忘記所有應用程序的'主動'屬性。我希望當這個過濾器是一個管理員發出請求並且他希望看到用於調試或預覽的非活動記錄時,可以打開/關閉這個過濾器。 – LarZuK 2011-05-31 09:07:33