2012-11-19 22 views
1

我已經完成了在我的項目中爲hibernate寫了很多查詢。現在我的需求發生了變化,並且在MySql中的所有表中添加了新的列名ACTIVE。我無權拒絕添加ACTIVE列。 ACTIVE字段可以保持值爲true或false,我也必須將其添加到條件中。所以,我一直在想,是否有一種方法可以在Hibernate中添加一個標準限制,這對我所做的所有查詢都很常見,而不是將每個查詢的標準都放在這個標準中?在Hibernate中對所有表的所有查詢的通用標準限制

編輯:我誤以爲是小小的錯誤,對不起,我在打字時很着急。 其他用戶已將ACTIVE列設置爲true或false。我需要的是僅針對具有ACTIVE列的記錄進行的全局篩選,以便對於我觸發的每個查詢均爲true。

像這樣的事情,但我想冬眠添加的ACTIVE =「真正的」過濾器,每次查詢我火,

select name from table where <other-conditions-here> and ACTIVE='true' 

希望這是有意義的。

感謝和問候,

Sunayan Saikia

回答

2

可以使用Hibernate的過濾器用於此目的。詳情請參考doc

2

我會建議你實現自定義攔截器,應截取你的查詢和執行它們之前追加ACTIVE標準。

攔截器的詳細信息可以在這裏找到:Hibernate Interceptors

相關問題