Weblogic81和ORM工具Hibernate 的集成問題

發表于:2007-05-25來源:作者:點擊數: 標簽:工具Weblogic81ormhibernate
Weblogic81和ORM工具Hibernate的集成問題 費了一天,終于搞定了Hibernate和Weblogic81的集成安裝問題。網上資料或多或少涉及到了,但都不完整、詳細。本文參考了 java 視線論壇版主的文章和hibernate網站的文章撰寫了本文,希望能對各位Hibernate初學者能有
                      Weblogic81和ORM工具Hibernate 的集成問題

費了一天,終于搞定了Hibernate和Weblogic81的集成安裝問題。網上資料或多或少涉及到了,但都不完整、詳細。本文參考了 java視線論壇版主的文章和hibernate網站的文章撰寫了本文,希望能對各位Hibernate初學者能有所幫助。
     假設你的工程是D:\testprj;D\testprj\lib存放所有的Hibernate的lib下的jar文件;D;\testprj\classes存放所有的class文件,特別包括一weblogic啟動類編寫的專用于建立hibernate的sessionfactory的class文件,還有hibernate.propties、log4j.properties、cache.clearcase/" target="_blank" >ccf、oscache.properties四個配置文件;
     D:\bea\weblogic81 
    1.首先第一步是修改配置weblogic啟動環境,添加hibernate的lib和class目錄到weblogic的classpath環境中,具體做法是:
     找到 D:\bea\user_projects\domains\mydomain\startWebLogic.cmd,添加如下紅色字體代碼到文件中:
 
set SERVER_NAME=caserver
set CLASSPATH=%WEBLOGIC_CLASSPATH%;%POINTBASE_CLASSPATH%;%JAVA_HOME%\jre\lib\rt.jar;%WL_HOME%\server\lib\webservices.jar;%CLASSPATH%

@rem set hibernate classpath
set HIBERNATE_LIB=D\testprj\lib
set HIBERNATE_CLASSES=D\testprj\classes
set CLASSPATH=%HIBERNATE_LIB%\cglib-asm.jar;%HIBERNATE_LIB%\cglib-full-2.0.1.jar;%HIBERNATE_LIB%\ehcache-0.7.jar;%HIBERNATE_LIB%\commons-beanutils.jar;%HIBERNATE_LIB%\commons-logging-1.0.3.jar;%HIBERNATE_LIB%\commons-collections-2.1.jar;%HIBERNATE_LIB%\commons-lang.jar;%HIBERNATE_LIB%\commons-logging.jar;%HIBERNATE_LIB%\dom4j-full.jar;%HIBERNATE_LIB%\jcs.jar;%HIBERNATE_LIB%\log4j-1.2.8.jar;%HIBERNATE_LIB%\odmg.jar;%HIBERNATE_LIB%\dom4j-1.4.jar;%HIBERNATE_LIB%\hibernate2.jar;%HIBERNATE_CLASSES%;%CLASSPATH%
 
@REM Call WebLogic Server
 
注意到網上有的網友同樣添加jar文件后可能有空格或換行符,出現了用winrar和weblogic不能正常啟動的現象,所以最好set CLASSPATH這一行一定要一行寫完,同樣jar文件名一定要和hibernate  的jar文件一致,否者,最后weblogic啟動時候,會出現找不到什么class not found的現象。
 
    2.利用weblogic的console配置一個jdbc pool,我采用的數據庫是sybase,以及一個datasource,datasource當然要用開頭的jdbc pool,我們假設它的jndi名稱為misdb;
    3.修改hibernate的配置文件,hibernate的配置文件有兩個hibernate.propties和hibernate.cfg.xml,前一個是hibernate啟動后調用缺省初始化環境文件,后一個是可動態調整,比如說添加數據表的映射文件等等,如何添加的代碼,網上可以找的到,我這里就不重復了,兩個配置文件有一個就可以了,在初始化hibernate,將hibernate幫定到weblogic的jndi,我們可以在第四步的weblogic啟動類源代碼中說明。
     hibernate.propties文件配置文件配置比較簡單,而且數據庫的參數,很多都已經用注釋寫好了。真是太cool了。
    這里我們要用weblogic的數據源misdb.
  修改添加如下代碼,切記,一定保證下面代碼唯一啊。
 
## HypersonicSQL
#hibernate.dialect .net.sf.hibernate.dialect.HSQLDialect
#hibernate.connection.driver_class org.hsqldb.jdbcDriver
#hibernate.connection.username sa
#hibernate.connection.password
#hibernate.connection.url jdbc:hsqldb:hsql://localhost
#hibernate.connection.url jdbc:hsqldb:test
#hibernate.connection.url jdbc:hsqldb:.
 
綠色代碼一定要注釋掉,用#符號
 
hibernate.dialect net.sf.hibernate.dialect.SybaseDialect
hibernate.connection.datasource misdb
hibernate.connection.provider_class net.sf.hibernate.connection.DatasourceConnectionProvider
hibernate.session_factory_name hibernate.session_factory
hibernate.jdbc.fetch_size 50
hibernate.jdbc.batch_size 25
紅色代碼添加入,注意可能后面也有相應的參數配置,記住注釋掉
 
放心,附件會附代碼的
okay.文件配置完畢,記住要在d:\testprj\classes目錄下;
  4.編寫weblogic啟動類源程序,沒辦法,因為weblogic特殊,只能這樣建立hibernate 的sessionfactory,為什么,因為下面這句
the JNDI implementation in WebLogic Server does not appear to support the Referenceable interface, and exhibits some rather strange behaviour when binding Serializable objects. 
 
代碼關鍵兩句是
            Configuration cfg = new Configuration();
            SessionFactory factory = cfg.buildSessionFactory();
 
         網上有些文章到不是不對,有的是直接映射了對象類,比如說cat類了,有的是用
    Configuration cfg  = new Configuration().configure();記住此時就是用hibernate.cfg.xml 文件配置
我覺得我這兩句最簡單,直接調用了hibernate.propties的參數;
代碼能,下面也有,編譯的時候一定要用ant編譯,如何配置ant,網上很多文章都有提到,我就不多說了。將WLSstartup.java放到D:\hibernate21\src\net\sf\hibernate下,
然后在命令行下用ant或者運行build.bat批處理文件,編譯后的WlSstartup.class大概在D:\hibernate21\build目錄下,然后copy到d:\testprj\classes
 
okay,完畢
  5.就是將WlSstartup類在weblogic的console中配置好,怎么配,robbin的文章或者weblogic的隨便那個管理配置的文章都有,我這里就不提了。
 
  好的,所有注意事項步驟完畢,啟動你的weblogic吧。應該是正常的信息,只要你按照我的步驟做,沒問題的。
 
有什么問題,可以留言 我的blog或者http://gispda.blogdirver.com或者email給我 gispda@163.com
打包文件里有hibernate.propties和 wlsstartup.java文件

附件:hibernate.properties(12K)
附件:WLSStartup.java(3K) 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97