hibernate資料過濾和監聽

2021-08-30 23:34:26 字數 1124 閱讀 1871

動態資料過濾

定義資料過濾器

@org.hibernate.annotations.filterdef(

name="limititemsbyuserrank",

[email protected](

name="currentuserrank",type="int"

))

應用和實現過濾器

=

(select u.rank from users u where u.user_id = seller_id)"/>

@org.hibernate.annotations.filter(

name = "limititemsbyuserrank",

condition=":currentuserrank >= " +

"(select u.rank from user u" +

" where u.user_id = seller_id)"

)

啟動過濾器

filter filter = session.enablefilter("limititemsbyuserrank");

filter.setparameter("currentuserrank", loggedinuser.getranking());

listfiltereditems = session.createquery("from item").list();

listfiltereditems = session.createcriteria(item.class).list();

通過識別符號檢索和通過對item例項的導航訪問(acategory.getitems())都沒有進行過濾

過濾集合

...

=(select u.rank from users u

where u.user_id = seller_id)"/>

攔截hibernate事件

建立標記介面

Hibernate讀書筆記 資料過濾

hibernate3 提供了一種創新的方式來處理具有 顯性 visibility 規則的資料,那就是使用hibernate filter。hibernate filter是全域性有效的 具有名字 可以帶引數的過濾器,對於某個特定的hibernate session 您可以選擇是否啟用 或禁用 某個過...

使用MBean和Jolokia實現資料監控

通過mbean的定義可以在系統執行時,檢視系統內部的資料或執行系統內部的功能,真正的使用過程中靜態mbean的使用是最多的。定義的mbean必須實現以類名 mbean的介面 如下所示定義了乙個mbean結構shardinfo,所以為了使shardinfo能夠註冊進mbeanserver中,需要定義介...

過濾和排序資料

基本語法 select from tablename where column operator condition operator 比較運算 等於 不是 大於 大於等於 小於 小於等於 不等於 也可以是 關鍵字 between and 介於兩值之間。in 在集合中 notin 不在集合中 lik...