程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Weblogic81和Hibernate 的集成問題

Weblogic81和Hibernate 的集成問題

編輯:JAVA編程入門知識
  費了一天,終於搞定了Hibernate和Weblogic81的集成安裝問題。網上資料或多或少涉及到了,但都不完整、具體。本文參考了 Java視線論壇版主的文章和hibernate網站的文章撰寫了本文,希望能對各位Hibernate初學者能有所幫助。
  
   假設你的工程是D: estprj;D estprjlib存放所有的Hibernate的lib下的jar文件;D; estprjclasses存放所有的class文件,非凡包括一weblogic啟動類編寫的專用於建立hibernate的sessionfactory的class文件,還有hibernate.propties、log4j.properties、cache.ccf、oscache.properties四個配置文件;
  
   D:eaweblogic81
  
   1.首先第一步是修改配置weblogic啟動環境,添加hibernate的lib和class目錄到weblogic的classpath環境中,具體做法是:
  找到 D:eauser_projectsdomainsmydomainstartWebLogic.cmd,添加如下紅色字體代碼到文件中:
  
  set SERVER_NAME=caserver
  set CLASSPATH=%WEBLOGIC_CLASSPATH%;%POINTBASE_CLASSPATH%;
    %JAVA_HOME%jrelib t.jar;%WL_HOME%serverlibwebservices.jar;%CLASSPATH%
  @rem set hibernate classpath
  set HIBERNATE_LIB=D estprjlib
  set HIBERNATE_CLASSES=D estprjclasses
  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: estprjclasses目錄下;
  
   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 文件配置。
 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved