Weblogic81和Hibernate 的集成问题 |
|||||
费了一天,终于搞定了Hibernate和Weblogic81的集成安装问题。网上资料或多或少涉及到了,但都不完整、详细。本文参考了 java视线论坛版主的文章和hibernate网站的文章撰写了本文,希望能对各位Hibernate初学者能有所帮助。 假设你的工程是D:\testprj;D\testprj\lib存放所有的Hibernate的lib下的jar文件;D;\testprj\classes存放所有的class文件,特别包括一weblogic启动类编写的专用于建立hibernate的sessionfactory的class文件,还有hibernate.propties、log4j.properties、cache.ccf、oscache.properties四个配置文件; D:\bea\weblogic81 1.首先第一步是修改配置weblogic启动环境,添加hibernate的lib和class目录到weblogic的classpath环境中,具体做法是: 找到 D:\bea\user_projects\domains\mydomain\startWebLogic.cmd,添加如下红色字体代码到文件中:
注意到网上有的网友同样添加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. 修改添加如下代码,切记,一定保证下面代码唯一啊。
绿色代码一定要注释掉,用#符号
红色代码添加入,注意可能后面也有相应的参数配置,记住注释掉 放心,附件会附代码的 okay.文件配置完毕,记住要在d:\testprj\classes目录下; 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. 代码关键两句是
网上有些文章到不是不对,有的是直接映射了对象类,比如说cat类了,有的是用
记住此时就是用hibernate.cfg.xml 文件配置。 我觉得我这两句最简单,直接调用了hibernate.propties的参数;代码能,下面也有,编译的时候一定要用ant编译,如何配置ant,网上很多文章都有提到,我就不多说了。将WLSstartup.java放到D:\hibernate21\src\net\sf\hibernate下,然后在命令行下用ant或者运行build.bat批处理文件,编译后的WlSstartup.class大概在D:\hibernate21\build目录下,然后copy到d:\testprj\classes okay,完毕 5.就是将WlSstartup类在weblogic的console中配置好,怎么配,robbin的文章或者weblogic的随便那个管理配置的文章都有,我这里就不提了。 好的,所有注意事项步骤完毕,启动你的weblogic吧。应该是正常的信息,只要你按照我的步骤做,没问题的。 有什么问题,可以留言 我的blog或者http://gispda.blogdirver.com或者email给我 gispda@163.com。 |