日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Hibernate攔截器與監(jiān)聽(tīng)器

攔截器與事件都是Hibernate的擴(kuò)展機(jī)制,Interceptor接口是老的實(shí)現(xiàn)機(jī)制,現(xiàn)在改成事件監(jiān)聽(tīng)機(jī)制;他們都是Hibernate的回調(diào)接口,Hibernate在調(diào)用save、delete、update...這些方法的時(shí)候會(huì)回調(diào)這個(gè)類(lèi)。

Hibernate3.0之前攔截器跟java中的過(guò)濾器很像的。

Hibernate3.0之后把攔截器改成事件監(jiān)聽(tīng)了。

saveOrUpdateEventListener接口:

保存和更新數(shù)據(jù)的時(shí)候會(huì)被Hibernate監(jiān)聽(tīng)到。

例子:

if(event.getObject() instanceof com.cos.User){

//如果這個(gè)事件是操作User對(duì)象的,就執(zhí)行if里面的代碼

}

把監(jiān)聽(tīng)器告訴Hibernate:

監(jiān)聽(tīng)器SaveListener.java:

Java代碼

 
 
 
  1. package com.cos.listener;     
  2.     
  3. import org.hibernate.HibernateException;     
  4. import org.hibernate.event.SaveOrUpdateEvent;     
  5. import org.hibernate.event.SaveOrUpdateEventListener;     
  6.     
  7. public class SaveListener implements SaveOrUpdateEventListener {     
  8.     
  9.     @Override    
  10.     public void onSaveOrUpdate(SaveOrUpdateEvent event)     
  11.             throws HibernateException {     
  12.         if(event.getObject() instanceof com.cos.entity.User){     
  13.             System.out.println("保存User之前的操作");     
  14.         }     
  15.     }     

 

Hibernate配置文件:

Xml代碼

 
 
 
  1.     "-//Hibernate/Hibernate Configuration DTD 3.0//EN"     
  2.     "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">    
  3.     
  4.         
  5.         org.hibernate.dialect.MySQLDialect property>    
  6.         com.mysql.jdbc.Driver property>    
  7.         jdbc:mysql:///test property>    
  8.          property>    
  9.          property>    
  10.         true property>    
  11.         create property>    
  12.             
  13.             
  14.                 
  15.                 
  16.          event>    
  17.      session-factory>    
  18. hibernate-configuration>    

可以看到兩個(gè)監(jiān)聽(tīng)器,一個(gè)是自己的監(jiān)聽(tīng)器、一個(gè)是缺省的監(jiān)聽(tīng)器。兩個(gè)監(jiān)聽(tīng)器哪個(gè)在前就先執(zhí)行哪個(gè)監(jiān)聽(tīng)器。


文章標(biāo)題:Hibernate攔截器與監(jiān)聽(tīng)器
分享路徑:http://www.dlmjj.cn/article/dpicdgo.html