最近在做多資料庫支援訪問,使用spring的配置方式,在 junit下測試沒有問題,但是啟動平台就載入不到實體jar包,spring配置檔案如下:
cn.ac.iscas.core.entity
...
為何在junit下沒有問題,但在平台啟動環境下就是不行,換用實體工具的
annotationfactory試驗,
bean id="sessionfactory" class="cn.ac.intec.entity.orm.annotationfactory">
cn.ac.iscas.core.doors
...
結果還是無法載入類包,資料庫中無法自動建立表。
無奈之下,檢視實體工具源**,結果發現
annotationfactory是我們自己的實現,重寫了
cn.ac.iscas.core.doors.module
cn.ac.iscas.core.doors.basecompare
cn.ac.iscas.core.doors.baseline
cn.ac.iscas.core.doors.baselinepk
cn.ac.iscas.core.doors.enumerationdata
cn.ac.iscas.core.doors.modreqproperty
cn.ac.iscas.core.doors.modulereqstat
cn.ac.iscas.core.doors.property
cn.ac.iscas.core.doors.reqinfo
...
再次啟動平台,一切問題都解決了~~~
浪費了我一下午3小時+早晨1小時啊
總結:spring2.0自帶的annotationsessionfactorybean不好用,用 annotatedclasses可以解決問題,但只適合class較少的情況,如果class比較多,還是自己實現 annotationsessionfactorybean的子類,自己去遍歷annotatedclass比較好。
另:spring 2.5.6中,增加了< property name ="packagestoscan" value ="com.**.bo" /> , 總算是解決了自動掃瞄類包的問題,相關資料請參考:
《spring 2.5.6新特性之packagestoscan》
《spring下使用 hibenrate annotation》
Spring 學習筆記整合 Hibernate
spring和hibernate處於不同的層次,spring關心的是業務邏輯之間的組合關係,spring提供了對他們的強大的管理能力,而hibernate完成了or的對映,使開發人員不用再去關心sql語句,直接與物件打交道。spring提供了對hibernate的sessionfactory的整合功...
Spring對JDBC及hibernate的支援
spring對jdbc及hibernate的支援 木馬網咖 一 作用 1.定義 spring的dao不是新發明一種技術,而是對原來技術的一種封裝,定義了一套 簡單實用的api 2.使用dao的好處 降低了業務邏輯層和具體的持久層技術 3.spring對dao的支援,定義了一套完善的異常類 1 執行時...
Hibernate框架1 Hibernate入門
hibernate是目前最流行的orm框架。當我們採用orm框架之後,應用程式不再直接訪問底層資料庫,而是以物件導向的方式來操作持久化物件 例如建立 刪除等 而orm框架則將這些物件導向的操作轉化成底層的sql操作。orm用最直白的話來說就是 一大堆的類庫,我們用物件導向的方式來呼叫,它幫我們翻譯為...