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包冲突。


                                                                                           

你可能感兴趣的:(Hibernate,weblogic,数据源)