解決weblogic和hibnate解析器衝突問題

2021-09-02 12:01:36 字數 874 閱讀 6128

異常為:

org.springframework.orm.hibernate3.hibernatequeryexception: classnotfoundexcepti

on: org.hibernate.hql.ast.hqltoken

原因:hibernate3.0 採用新的基於antlr的hql/sql查詢翻譯器,在hibernate的配置檔案中,hibernate.query.factory_class屬性用來選擇查詢翻譯器。

(1)選擇hibernate3.0的查詢翻譯器:

hibernate.query.factory_class= org.hibernate.hql.ast.astquerytranslato***ctory

(2)選擇hibernate2.1的查詢翻譯器

hibernate.query.factory_class= org.hibernate.hql.classic.classicquerytranslato***ctory

為了使用3.0的批量更新和刪除功能,只能選擇(1)否則不能解釋批量更新的語句,當使用的時候出現了不支援條件輸入中文的情況。選擇(2)可以支援輸入中文,但沒法解釋批量更新語句了

在hibernate3中需要用到antlr,然而這個包在weblogic.jar中已經包含了antrl類庫,就會產生一些類載入的錯誤,無法找到在war或者ear中的hibernate3.jar。

出現這個錯誤之後,antlr會呼叫system.exit(),這樣weblogic就會中止服務

解決方法:

在d:\bea10\jrockit_160_05_r27.6.2-20\jre\lib\ext 或者 d:\bea10\jdk160_11\jre\lib\ext 加antlr-2.7.5h3.jar

解決weblogic的oracle驅動問題

最近使用weblogic8.1.4 在使用oracle時發現對大字段如clob,blob,long等字段進行插入或修改時報錯,錯誤 為ora 01483 invalid length for date or number bind variable,查遍google,只看到是資料庫jdbc驅動問題,...

weblogic誤用root啟動解決辦法

今天不小心使用了root啟動weblogic了,然後在用oracle啟動,就報錯了。原因是 home oracle oracle middleware 有許多檔案改為root使用者擁有了。oracle啟動的時候,沒許可權了。解決辦法是將該目錄下的所有檔案的擁有者改為oracle 執行以下命令 cho...

命令啟動和停止weblogic

開啟weblogic 1 找到 oracle middleware user projects domains 使用者 domain目錄,2 執行nohup startweblogic.sh nohup的作用是讓weblogic啟動在後台執行 3 使用命令tail f 文字檔案名即可監視遠端檔案的變...