Hibernate鏈接Weblogic的數據源

由於前兩天,發了關於hibernate配置多數據庫鏈接和選擇什麼服務器方案的緣故,有的朋友就動了心眼兒。。呵呵,想把程序跑在weblogic上,結果接着一連串的問題都出來了,
應幾個朋友的需求,要用Hibernate調用Weblogic的數據源,因此,我就寫了個配置的小例子,但願能幫助你們。


第一步:安裝weblogic,配置數據源,我機器上裝的是9.2,因此就拿weblogic9.2爲例子講解,數據庫選用oracle,數據源名稱爲oracleDataSource



第二步、Hibernate.cfg.xml的配置文件以下:

  <?xml version='1.0' encoding='UTF-8'?>
 <!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    " http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd "> 

 <hibernate-configuration> 

 <session-factory>
  <property name="hibernate.connection.datasource">oracleDataSource</property>
  <property name="hibernate.connection.provider_class">org.hibernate.connection.DatasourceConnectionProvider</property>
  <property name="hibernate.jndi.class">weblogic.jndi.WLInitialContextFactory</property>
  <property name="hibernate.show_sql">true</property>
  <property name="hibernate.jdbc.fetch_size">100</property>
  <property name="hibernate.jdbc.batch_size">50</property>
  <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
  <property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>

 </session-factory> 

 </hibernate-configuration> 

第三步:以後,調用就OK,在此說明一點,在配置的時候,必定要加上  <property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>
要否則會報「 ClassNotFoundException: org.hibernate.hql.ast.HqlToken 」異常,這是由於Hibernate3.0 採用新的基於ANTLR的HQL/SQL查詢翻譯器,在Hibernate的配置文件中,hibernate.query.factory_class屬性用來選擇查詢翻譯器。使用3.0的批量更新和刪除功能的時候出現了不支持條件輸入中文的狀況。
在此還說明一點,weblogic裏自帶了不少相關的jar文件,用weblogic的時候,若是出現一些莫名其妙的錯,先去查一查有沒有相關的jar包衝突。
相關文章
相關標籤/搜索