<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    鷹翔宇空

    學(xué)習(xí)和生活

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      110 Posts :: 141 Stories :: 315 Comments :: 1 Trackbacks

    原文引自:http://www.javaeye.com/pages/viewpage.action?pageId=1141

    作者: 冰云
    整理:robbin

    原理:利用Hibernate3提供的PostLoadEventListener在loadHibernate實(shí)體類的時候觸發(fā)PostLoadEvent事件,編寫一個自定義的事件監(jiān)聽器,注入依賴的Spring Bean對象

    SpringHibernateInjector
    import org.hibernate.event.PostLoadEvent;
    import org.hibernate.event.PostLoadEventListener;
    import org.springframework.beans.factory.BeanFactory;
    import org.springframework.beans.factory.BeanFactoryAware;
    import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
    
    public class SpringHibernateInjector implements PostLoadEventListener, BeanFactoryAware{
    
        AutowireCapableBeanFactory beanFactory;
       
        public void onPostLoad(PostLoadEvent event) {
            Object hibernateObject = event.getEntity();
            beanFactory.autowireBeanProperties(hibernateObject, AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, false);   
        }
    
        public void setBeanFactory(BeanFactory factory)  {
            beanFactory = (AutowireCapableBeanFactory) factory;
        }
    
    }
    applicationContext.xml
    <bean id="sessionFactory"
            class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
            <property name="dataSource">
                <ref bean="dataSource" />
            </property>
            <property name="mappingResources">
                <list>
                    ...domains.hbm.xml here...
                </list>
            </property>
            <property name="hibernateProperties">
                <props>
                    <prop key="hibernate.dialect">
                        org.hibernate.dialect.Oracle9Dialect
                    </prop>
                    <prop key="hibernate.query.substitutions">
                        true 1, false 0
                    </prop>
                    <prop key="hibernate.show_sql">false</prop>
                </props>
            </property>
           <property name="eventListeners">
              <map>
                <entry key="post-load">
                  <!-- This hibernate interceptor allows us to use Spring to inject services
     into Hibernate managed domain objects -->   
                  <bean class="yourpackage.SpringHibernateInjector"/>
                </entry>        
               </map>
        </property>
        </bean>

    注:此方法來自于ThoughtWorksPerrynFowler,俺只是摘抄一下

    posted on 2006-02-11 14:30 TrampEagle 閱讀(611) 評論(0)  編輯  收藏 所屬分類: hibernateSpring
    主站蜘蛛池模板: 色久悠悠婷婷综合在线亚洲| 亚洲.国产.欧美一区二区三区| 亚洲AV一区二区三区四区| 亚洲精品国产免费| 亚洲精彩视频在线观看| 97青青草原国产免费观看| 亚洲AV乱码一区二区三区林ゆな| 成人精品一区二区三区不卡免费看| 亚洲性猛交XXXX| 久久久久成人精品免费播放动漫| 亚洲天堂久久精品| 亚洲视频在线免费看| 亚洲最大天堂无码精品区| 国产成人在线免费观看| 国产日韩AV免费无码一区二区三区| 中文字幕无码精品亚洲资源网| 免费萌白酱国产一区二区三区| 亚洲久本草在线中文字幕| 亚洲三级高清免费| 国产青草亚洲香蕉精品久久| 在线a亚洲v天堂网2019无码| 91热久久免费精品99| 亚洲熟女综合一区二区三区| 亚洲国产成人久久综合一区77 | 男男gay做爽爽的视频免费| 亚洲国产香蕉人人爽成AV片久久| 三年片免费高清版| 亚洲午夜久久久精品电影院| 国产高清在线精品免费软件 | 亚洲av无码一区二区三区天堂古代| 成人毛片18女人毛片免费96| www成人免费观看网站| 久久亚洲私人国产精品| 国产精品视频免费一区二区三区| 福利免费在线观看| 亚洲国产精品成人久久久| 亚洲成A人片77777国产| 亚洲人成免费电影| 一级特黄a免费大片| 亚洲一区二区三区乱码在线欧洲| 亚洲精品视频在线观看你懂的 |