级别: 中级
【程序编程相关:Wi-Fi】sunil patil (sunilpatil@in.ibm.com) 【推荐阅读:使用setfacl划分权限】
【扩展信息:Spring+ibatis 数据化持久层】软件工程师, ibm2004 年 11 月 本文一步一步地指导我们在创建 hibernate 应用程序的时候,使用 websphere® application server 的连接以及事务管理.
获取本文中所使用的产品以及工具
如果您是 developerworks 的订户,就会拥有单用户的使用许可,以使用 websphere application server 与其他 db2®, lotus®, rational®, tivoli® 产品,包括基于 eclipse 的 websphere studio ide -- 来开发.测试.评估以及演示您的应用程序.如果您不是 developerworks 的订户,现在可以预定.前言
hibernate 是一个流行的开源对象关系映射工具,运行在 java 环境中.用基于 sql 的模式可以把数据呈现从对象模型映射到关系数据模型,对象关系映射引用了这项技术.这也就意味着在与数据库交互时,hibernate 提供了多级抽象方法.hibernate 非常灵活,并且支持多种使用方法.在一种情况下,使用 hibernate api 的最小子集,它仅仅可以用来同数据库交互,在这种情况下,应用程序必须为自己提供连接并且管理自己的事务;例如 websphere application server 这样的中间件可以实现这些功能.在另一种情况下,即使您没有运行中间件,您也可以使用完整版本的 hibernate,在这种情况下,您向 hibernate 提供数据库配置信息,这时它不仅仅为您创建与管理连接,而且还可以通过把事务委派到底层数据库来管理它们.
使用 hibernate,您需要创建 java 类来描述数据库中的表,并且将类中的实例变量映射到数据库中的列.这时,正如您所想的那样,您可以调用 hibernate 的方法来选择.插入.更新与删除底层表中的记录,而不是自己创建与执行查询.
hibernate 架构有三个主要的组件: 连接管理
因为在于数据库交互时,打开以及关闭数据库的开销是非常昂贵的,您应该将您的数据库连接放在池中并且能重新使用. 事务管理 在一个批处理中执行多个查询时,会用到事务;结果可能是所有的查询都成功,或者是所有的都失败. 对象关系映射 在这部分中,特定的 java 对象 hibernate 来插入或者更新数据;例如,当您传递一个对象的实例到 session.save() 方法时,hibernate 将读取这个对象实例变量的状态,并且创建与执行必须的查询.在选择查询的情况下,将返回描述结果集的对象.hibernate 非常的灵活,并且提供多种途径来使用这些组件: “lite”架构
当您仅仅想要使用 hibernate 对象关系映射组件时使用.在这种情况下,您需要自己实现连接以及事务管理,例如,用 websphere application server. “full cream”架构 当您想要应用所有三个 hibernate 组件时使用.hibernate 可以为您管理连接,但是您必须通过 xml 配置提供如驱动程序类名.用户名.密码以及其他一些连接信息.当管理事务的时候,您可以在 hibernate 对象上调用开始.提交以及回滚方法. ... 下一页