熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Weblogic81和Hibernate 的集成問題

2013-11-23 20:34:33  來源: Java開源技術 

  費了一天終於搞定了Hibernate和Weblogic的集成安裝問題網上資料或多或少涉及到了但都不完整詳細本文參考了 java視線論壇版主的文章和hibernate網站的文章撰寫了本文希望能對各位Hibernate初學者能有所幫助
  
  假設你的工程是D:\testprj;D\testprj\lib存放所有的Hibernate的lib下的jar文件;D;\testprj\classes存放所有的class文件特別包括一weblogic啟動類編寫的專用於建立hibernate的sessionfactory的class文件還有hibernateproptieslogjpropertiesfoscacheproperties四個配置文件
  
  D:\bea\weblogic
  
  首先第一步是修改配置weblogic啟動環境添加hibernate的lib和class目錄到weblogic的classpath環境中具體做法是
  找到 D:\bea\user_projects\domains\mydomain\startWebLogiccmd添加如下紅色字體代碼到文件中
  
   set SERVER_NAME=caserver
   set CLASSPATH=%WEBLOGIC_CLASSPATH%;%POINTBASE_CLASSPATH%;
         %JAVA_HOME%\jre\lib\rtjar;%WL_HOME%\server\lib\webservicesjar;%CLASSPATH%
   @rem set hibernate classpath
   set HIBERNATE_LIB=D\testprj\lib
   set HIBERNATE_CLASSES=D\testprj\classes
   set CLASSPATH=%HIBERNATE_LIB%\cglibasmjar;%HIBERNATE_LIB%\cglibfulljar;%HIBERNATE_LIB%\ehcachejar;%HIBERNATE_LIB%\commonsbeanutilsjar;%HIBERNATE_LIB%\commonsloggingjar;%HIBERNATE_LIB%\commonscollectionsjar;%HIBERNATE_LIB%\commonslangjar;%HIBERNATE_LIB%\commonsloggingjar;%HIBERNATE_LIB%\domjfulljar;%HIBERNATE_LIB%\jcsjar;%HIBERNATE_LIB%\logjjar;%HIBERNATE_LIB%\odmgjar;%HIBERNATE_LIB%\domjjar;%HIBERNATE_LIB%\hibernatejar;%HIBERNATE_CLASSES%;%CLASSPATH%
  
   @REM Call WebLogic Server
  
  
  注意到網上有的網友同樣添加jar文件後可能有空格或換行符出現了用winrar和weblogic不能正常啟動的現象所以最好set CLASSPATH這一行一定要一行寫完同樣jar文件名一定要和hibernate 的jar文件一致否者最後weblogic啟動時候會出現找不到什麼class not found的現象
  
  利用weblogic的console配置一個jdbc pool我采用的數據庫是sybase以及一個datasourcedatasource當然要用開頭的jdbc pool我們假設它的jndi名稱為misdb
  
  修改hibernate的配置文件hibernate的配置文件有兩個hibernatepropties和hibernatecfgxml前一個是hibernate啟動後調用缺省初始化環境文件後一個是可動態調整比如說添加數據表的映射文件等等如何添加的代碼網上可以找的到我這裡就不重復了兩個配置文件有一個就可以了在初始化hibernate將hibernate幫定到weblogic的jndi我們可以在第四步的weblogic啟動類源代碼中說明
  
  hibernatepropties文件配置文件配置比較簡單而且數據庫的參數很多都已經用注釋寫好了真是太cool了
  
  這裡我們要用weblogic的數據源misdb
  
  修改添加如下代碼切記一定保證下面代碼唯一啊
  
   ## HypersonicSQL
   #hibernatedialect netsfhibernatedialectHSQLDialect
   #nnectiondriver_class orghsqldbjdbcDriver
   #nnectionusername sa
   #nnectionpassword
   #nnectionurl jdbc:hsqldb:hsql://localhost
   #nnectionurl jdbc:hsqldb:test
   #nnectionurl jdbc:hsqldb:
  
  綠色代碼一定要注釋掉用#符號
  
   hibernatedialect netsfhibernatedialectSybaseDialect
   nnectiondatasource misdb
   nnectionprovider_class nnectionDatasourceConnectionProvider
   hibernatesession_factory_name hibernatesession_factory
   hibernatejdbcfetch_size
   hibernatejdbcbatch_size
  
  紅色代碼添加入注意可能後面也有相應的參數配置記住注釋掉
  
  放心附件會附代碼的
  
  okay文件配置完畢記住要在d:\testprj\classes目錄下;
  
  編寫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 = cfgbuildSessionFactory();
  
  網上有些文章到不是不對有的是直接映射了對象類比如說cat類了有的是用
  
   Configuration cfg = new Configuration(nfigure();
  
  記住此時就是用hibernatecfgxml 文件配置
  
  我覺得我這兩句最簡單直接調用了hibernatepropties的參數代碼能下面也有編譯的時候一定要用ant編譯如何配置ant網上很多文章都有提到我就不多說了將WLSstartupjava放到D:\hibernate\src\net\sf\hibernate下然後在命令行下用ant或者運行buildbat批處理文件編譯後的WlSstartupclass大概在D:\hibernate\build目錄下然後copy到d:\testprj\classes
  
  okay完畢
  
  就是將WlSstartup類在weblogic的console中配置好怎麼配robbin的文章或者weblogic的隨便那個管理配置的文章都有我這裡就不提了
  
  好的所有注意事項步驟完畢啟動你的weblogic吧應該是正常的信息只要你按照我的步驟做沒問題的

From:http://tw.wingwit.com/Article/program/Java/ky/201311/28695.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.