91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hibernate如何實現攔截器與監聽器

發布時間:2021-12-05 19:02:52 來源:億速云 閱讀:284 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關Hibernate如何實現攔截器與監聽器,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

攔截器與事件都是Hibernate的擴展機制,Interceptor接口是老的實現機制,現在改成事件監聽機制;他們都是Hibernate的回調接口,Hibernate在調用save、delete、update...這些方法的時候會回調這個類。

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

Hibernate3.0之后把攔截器改成事件監聽了。

saveOrUpdateEventListener接口:

保存和更新數據的時候會被Hibernate監聽到。

例子:

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

//如果這個事件是操作User對象的,就執行if里面的代碼

}

把監聽器告訴Hibernate:

監聽器SaveListener.java:

Java代碼

package com.cos.listener;         import org.hibernate.HibernateException;     import org.hibernate.event.SaveOrUpdateEvent;     import org.hibernate.event.SaveOrUpdateEventListener;         public class SaveListener implements SaveOrUpdateEventListener {             @Override        public void onSaveOrUpdate(SaveOrUpdateEvent event)                 throws HibernateException {             if(event.getObject() instanceof com.cos.entity.User){                 System.out.println("保存User之前的操作");             }         }     }

Hibernate配置文件:

Xml代碼

    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">    <hibernate-configuration>        <session-factory>            <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialectproperty>            <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driverproperty>            <property name="hibernate.connection.url">jdbc:mysql:///testproperty>            <property name="hibernate.connection.username">property>            <property name="hibernate.connection.password">property>            <property name="hibernate.show_sql">trueproperty>            <property name="hibernate.hbm2ddl.auto">createproperty>            <mapping resource="com/cos/entity/User.hbm.xml"/>            <event type="save">                <listener class="com.cos.listener.SaveListener"/>                <listener class="org.hibernate.event.def.DefaultSaveOrUpdateEventListener"/>            event>        session-factory>    hibernate-configuration>

可以看到兩個監聽器,一個是自己的監聽器、一個是缺省的監聽器。兩個監聽器哪個在前就先執行哪個監聽器。

關于“Hibernate如何實現攔截器與監聽器”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

三穗县| 杭州市| 略阳县| 桂平市| 沙雅县| 黄龙县| 宾川县| 徐汇区| 阿尔山市| 湖口县| 枣强县| 新疆| 庆安县| 迭部县| 进贤县| 盐津县| 诸城市| 玉树县| 永济市| 宿州市| 鲁山县| 万年县| 雅安市| 景谷| 永昌县| 运城市| 甘肃省| 商南县| 同仁县| 延津县| 霍邱县| 沙湾县| 陕西省| 濮阳县| 怀柔区| 凤阳县| 论坛| 贺州市| 静宁县| 尉氏县| 石台县|