在Weblogic 8.1上配置Hibernate 3.0

下面是在WebLogic 8.1上配置Hibernate的具体步骤:

◆首先要创建一个域。我创建了一个WebLogic Workshop(WLW)域,因为我打算使用WLW来创建和实现应用程序。

◆将hibernate...\lib\antlr-2.7.5H3.jar添加到PRE_CLASSPATH,或者在hibernate.cfg.xml文件中将query.factory_class属性设为user 2.x's query factory。

◆WLW域还启动了一个PointBase数据库实例。我将使用这个内置实例。我创建了一个新的用户和模式。并为该模式填充了一些示例数据。

◆在服务器实例中配置连接池和数据源。

◆创建应用程序。我打算使用WebLogic Workshop创建。

◆应该将库(jar文件)(它们是成功运行Hibernate所必需的)放在哪里呢?放在应用程序的APP-INF/lib文件夹中。库包括hibernate.jar和附加的第三方库。引用Hibernate Reference的表格3-1。

◆在WLW中创建一个Java项目。该Java项目包括映射到数据库的域类。WLW编译该项目,并将生成的jar文件放到APP-INF/lib目录下。在Java项目中编码域类。创建Hibernate映射文件和Hibernate配置文件。此外,从Hibernate Reference复制实现,创建HibenateUtil类。Hibernate配置文件包括数据源的JNDI名。

◆创建一个EJB对象(例如,一个模块)。该项目包含了会话bean。编写一个操纵域类的会话bean。

◆创建一个Web或Web Service项目(例如,一个模块)。该项目包含了可互操作性地测试会话bean的组件。

完整、有效、自包含的示例应用程序在此。其中包括了模式和所有的Hibernate配置文件。

我在上面描述了在WebLogic 8.1上配置Hibernate 3.0的具体步骤。下面将介绍高级配置,其中Hibernate使用了WebLogic的Java命名和目录接口(Java Naming and Directory Interface,JNDI)、Java事务API(Java Transaction API,JTA)、Java连接器架构(Java Connector Architecture,JCA)和Java管理扩展(Java Management extension,JMX)实现。

我们先从JNDI开始。通过在hibernate.cfg.xml文件中命名SessionFactory,Hibernate使SessionFactory在JNDI中可用。呀!这在WebLogic中不起作用。正如此处所描述的,WebLogic JNDI与Hibernate配合得不是很好。有多个工作区。工作区手动将SessionFactory绑定到JNDI中,方法是通过WebLogic startup类或者启动servlet。但是,我不能使SessionFactory实例从JNDI安全返回。因此,折衷一下,为SessionFactory向HibernateUtil实用类添加一个存取器。

为了配置Hibernate使用JTA,我在hibernate.cfg.xml文件中配置了transaction.factory_class。有两个选项:org.hibernate.transaction.JTATransactionFactory和org.hibernate.transaction.CMTTransactionFactory。说明文档建议,对Bean托管事务界定(Bean Managed Transaction Demarcation,BMTD)bean使用JTATransactionFactory,而对容器托管事务界定(Container Managed Transaction Demarcation,CMTD)bean使用CMTTransactionFactory。

JTATransactionFactory似乎更通用些,它既支持BMTD bean又支持CMTD bean。因此,我配置的是JTATransactionFactory。此外,为了以特定于容器的方式查找事务,我在hibernate.cfg.xml文件中配置了transaction.manager_lookup_class。借助于这个配置,我完全不需要使用HibernateTransaction API。

对Hibernate的JCA支持是实验性质的,目前还没有全面应用于WebLogic。我可以设想,以后Hibernate会被打包为Resource ARchive(RAR)文件。Hibernate RAR文件作为资源适配器部署。适配器使Session在JNDI中可用。所有的配置元素都是通过资源适配器(xml文件)配置的,而不是通过hibernate.cfg.xml文件或采用其他方法配置。为什么在WebLogic中要配置Hibernate使用JCA?JCA旨在封装传统系统的连接、事务等等,并使它们在J2EE中可用。但是,由于Hibernate,传统的资源适配器的优势不能全面体现。一旦Hibernate被配置为资源适配器,特定的应用程序与Hibernate的耦合就被削弱了。多个不同的应用程序可以使用同一个Hibernate资源适配器。由于当前正在开发的EJB 3.0,这种配置在EJB的持久性API、Hibernate和Java数据对象(Java Data Object,JDO)的标准化方面的优势更为明显。从理论上讲,可以热部署(或重部署)适配器和改变持久性实现。

Hibernate附带JMX Management Bean (MBean)实现。我不知道如何使用JMX将Hibernate部署到WebLogic上。Hibernate和WebLogic使用JMX有什么好处?至少有两条。一条是部署和重部署。更重要的一条是,可以监控Hibernate和获得的统计信息。从JMX控制台进行运行时监控是所部署的应用程序运行良好的基本保障。

时间: 2024-09-16 04:03:19

在Weblogic 8.1上配置Hibernate 3.0的相关文章

在Weblogic上配置Hibernate为JNDI

一.首先需要把Hibernate 用到的jar包和配置文件都放到Weblogic能够搜索到的CLASSPATH路径上.单单这一步就有很多人很迷茫,其实去仔细看看Weblogic的启动脚本文件startWeblogic.cmd和startWLS.cmd,我想大部分人都知道该怎么配置了. 我机器上的有个Hibernate的项目,在D:\test\oracle目录下,该目录下的结构是: java代码: D:\test\oracle\lib 放置hibernate的所有jar包 D:\test\orac

Weblogic上配置Hibernate为JNDI_JSP编程

一.首先需要把Hibernate 用到的jar包和配置文件都放到Weblogic能够搜索到的CLASSPATH路径上.单单这一步就有很多人很迷茫,其实去仔细看看Weblogic的启动脚本文件startWeblogic.cmd和startWLS.cmd,我想大部分人都知道该怎么配置了. 我机器上的有个Hibernate的项目,在D: estoracle目录下,该目录下的结构是: D: estoraclelib 放置hibernate的所有jar包 D: estoraclesrc 放置源代码 D:

Weblogic上配置Hibernate为JNDI

HibernateWebLogicJNDI 一.首先需要把Hibernate 用到的jar包和配置文件都放到Weblogic能够搜索到的CLASSPATH路径上.单单这一步就有很多人很迷茫,其实去仔细看看Weblogic的启动脚本文件startWeblogic.cmd和startWLS.cmd,我想大部分人都知道该怎么配置了. 我机器上的有个Hibernate的项目,在D: estoracle目录下,该目录下的结构是: D: estoraclelib 放置hibernate的所有jar包 D:

Windows2003企业版IIS6上配置asp.net4.0网站

1.在IIS6下新建一个网站就用那个80端口了. 2.记住IIS默认的ASP.NET是2.0的,所以在"属性"--"ASP.NET"下选择4.0. 3.在web服务扩展里,允许以下几项: 3.如果没有上面那一步的支持,当你访问页面时,会一真报404.对了,这里顺便把网站的"主目录"配置也贴出来. 4.到了这一步,按常理来说网站应该就可以正常访问了,至少WINDOWS 7和XP上是这样的,但这个windows server 2003 上就是不行.

应用部署到weblogic 10.3上+jdk版本 1.6,如何设置可产生heap dump文件?

问题描述 应用部署到weblogic 10.3上+jdk版本 1.6,如何设置可产生heap dump文件? 我在weblogic的配置文件setDomainEvn.sh文件中,已经配置:-XX:+HeapDumpOnOutOfMemoryError -XX:+HeapDumpOnCtrlBreak,并且在该文件中新增: export IBM_HEAPDUMP=true export IBM_HEAP_DUMP=true export IBM_HEAPDUMP_OUTOFMEMORY=true

eclipse上依据hibernate tools逆向生成PO(Domain Object)的过程

使用eclipse开发一个基于java的maven的web项目,业务逻辑基于spring实现,数据库服务器采用mysql.我们项目的业务逻辑(面向对象)和数据(关系型数据库)之间,依靠hibernate进行映射.对应.使用和处理.hibernate的核心功能之一,就是在面向对象和关系型数据库之间建立转化和映射,让程序员用面向对象的方式看待关系型数据库.(让数据库对程序员透明)开发过程中,为了保持二者的一致,需要进行Domain Object这种POJO的逆向生成.也就是依据mysql数据库中数据

如何通过httpd和DVD ISO在RHEL上配置yum本地源

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/811112 //译者注:本文翻译原文由红帽知识库 //(https://access.redhat.com/knowledge/solutions/7227)提供. //此符号(//)后面的内容均为译者添加 //原文有改动 如何通过HTTP在RHEL上配置yum本地资源库? A.本文适应的操作系统环境: Red Ha

m1上 配置OEM 怎样配置oracle oem

m1上 配置OEM [oracle@m1 ~]$ emca -config dbcontrol db STARTED EMCA at Oct 23, 2013 11:55:28 AM EM Configuration Assistant, Version 11.2.0.3.0 Production Copyright (c) 2003, 2011, Oracle.  All rights reserved. Enter the following information: Database SI

在ubuntu9.0上配置MySQL集群详细教程

家在网上都能找到都是RedHat系统等等,对Ubuntu系统MySQL集群就没有介绍文章,我现在写写Ubuntu这个MySQL集群方法.新手不要骂我,呵呵. 介绍网络环境: 测试环境: Server1: ndbd 192.168.245.11 Server2: ndbd 192.168.245.12 Server3: mysqld –ndb-cluster 192.168.245.13 ndbd: 数据库节点. mysqld –ndb-cluster: MySQL服务器节点,程序直接访问的是这台