費了一天
終於搞定了Hibernate和Weblogic
的集成安裝問題
網上資料或多或少涉及到了
但都不完整
詳細
本文參考了 java視線論壇版主的文章和hibernate網站的文章撰寫了本文
希望能對各位Hibernate初學者能有所幫助
假設你的工程是D:\testprj;D\testprj\lib存放所有的Hibernate的lib下的jar文件;D;\testprj\classes存放所有的class文件
特別包括一weblogic啟動類編寫的專用於建立hibernate的sessionfactory的class文件
還有hibernate
propties
log
j
properties
f
oscache
properties四個配置文件
D:\bea\weblogic
首先第一步是修改配置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
jar;%HIBERNATE_LIB%\ehcache
jar;%HIBERNATE_LIB%\commons
beanutils
jar;%HIBERNATE_LIB%\commons
logging
jar;%HIBERNATE_LIB%\commons
collections
jar;%HIBERNATE_LIB%\commons
lang
jar;%HIBERNATE_LIB%\commons
logging
jar;%HIBERNATE_LIB%\dom
j
full
jar;%HIBERNATE_LIB%\jcs
jar;%HIBERNATE_LIB%\log
j
jar;%HIBERNATE_LIB%\odmg
jar;%HIBERNATE_LIB%\dom
j
jar;%HIBERNATE_LIB%\hibernate
jar;%HIBERNATE_CLASSES%;%CLASSPATH%
@REM Call WebLogic Server
注意到網上有的網友同樣添加jar文件後可能有空格或換行符
出現了用winrar和weblogic不能正常啟動的現象
所以最好set CLASSPATH這一行一定要一行寫完
同樣jar文件名一定要和hibernate 的jar文件一致
否者
最後weblogic啟動時候
會出現找不到什麼class not found的現象
利用weblogic的console配置一個jdbc pool
我采用的數據庫是sybase
以及一個datasource
datasource當然要用開頭的jdbc pool
我們假設它的jndi名稱為misdb
修改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
#nnection
driver_class org
hsqldb
jdbcDriver
#nnection
username sa
#nnection
password
#nnection
url jdbc:hsqldb:hsql://localhost
#nnection
url jdbc:hsqldb:test
#nnection
url jdbc:hsqldb:
綠色代碼一定要注釋掉
用#符號
hibernate
dialect net
sf
hibernate
dialect
SybaseDialect
nnection
datasource misdb
nnection
provider_class nnection
DatasourceConnectionProvider
hibernate
session_factory_name hibernate
session_factory
hibernate
jdbc
fetch_size
hibernate
jdbc
batch_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 = cfg
buildSessionFactory();
網上有些文章到不是不對
有的是直接映射了對象類
比如說cat類了
有的是用
Configuration cfg = new Configuration(nfigure();
記住此時就是用hibernate
cfg
xml 文件配置
我覺得我這兩句最簡單
直接調用了hibernate
propties的參數
代碼能
下面也有
編譯的時候一定要用ant編譯
如何配置ant
網上很多文章都有提到
我就不多說了
將WLSstartup
java放到D:\hibernate
\src\net\sf\hibernate下
然後在命令行下用ant或者運行build
bat批處理文件
編譯後的WlSstartup
class大概在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