自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Hibernate攔截器與監(jiān)聽(tīng)器

開(kāi)發(fā) 后端
攔截器與事件都是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è)類。

攔截器與事件都是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è)類。

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. <hibernate-configuration>    
  4.     <session-factory>    
  5.         <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialectproperty>    
  6.         <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driverproperty>    
  7.         <property name="hibernate.connection.url">jdbc:mysql:///testproperty>    
  8.         <property name="hibernate.connection.username">property>    
  9.         <property name="hibernate.connection.password">property>    
  10.         <property name="hibernate.show_sql">trueproperty>    
  11.         <property name="hibernate.hbm2ddl.auto">createproperty>    
  12.         <mapping resource="com/cos/entity/User.hbm.xml"/>    
  13.         <event type="save">    
  14.             <listener class="com.cos.listener.SaveListener"/>    
  15.             <listener class="org.hibernate.event.def.DefaultSaveOrUpdateEventListener"/>    
  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)器。

【編輯推薦】

  1. Hibernate批量更新與刪除實(shí)例淺析
  2. 簡(jiǎn)述Hibernate Synchronizer學(xué)習(xí)筆記
  3. Hibernate column屬性簡(jiǎn)介
  4. 概括Hibernate查詢語(yǔ)言
  5. Hibernate cartridge學(xué)習(xí)總結(jié)
責(zé)任編輯:金賀 來(lái)源: ITEYE博客
相關(guān)推薦

2012-02-03 13:27:16

2009-09-27 17:46:22

Hibernate監(jiān)聽(tīng)

2009-09-27 17:37:32

Hibernate攔截

2009-01-03 13:37:26

Oracle監(jiān)聽(tīng)器Oracle服務(wù)器Oracle網(wǎng)絡(luò)配置

2009-07-08 17:39:23

Servlet監(jiān)聽(tīng)器

2011-03-21 16:21:49

Oracle監(jiān)聽(tīng)口令監(jiān)聽(tīng)器

2009-06-24 16:00:00

2020-04-20 11:09:49

過(guò)濾器監(jiān)聽(tīng)器 Web

2025-02-28 08:14:53

2023-09-05 08:58:07

2023-11-01 07:55:03

事件監(jiān)聽(tīng)器傳遞數(shù)據(jù)

2009-07-08 17:02:11

JDK實(shí)現(xiàn)調(diào)用攔截器

2011-06-01 14:55:24

Android Service 監(jiān)聽(tīng)器

2010-04-23 18:00:31

2009-07-06 13:48:53

Servlet監(jiān)聽(tīng)器

2010-01-13 09:49:09

注釋監(jiān)聽(tīng)器Listener

2011-11-21 14:21:26

SpringMVCJava框架

2009-11-09 10:03:09

WCF通道監(jiān)聽(tīng)器

2010-02-22 15:06:31

WCF信道監(jiān)聽(tīng)器

2023-01-06 08:55:00

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)