Hibernate基础教程:ORM持久层对比与Java事务API详解

需积分: 9 1 下载量 22 浏览量 更新于2024-08-23 收藏 2.51MB PPT 举报
本文档是一篇关于Hibernate基础教程的文章,主要探讨了目前流行的ORM(对象关系映射)持久层解决方案,包括SQL/JDBC、Entity Bean(CMP)、JDO、Apache OJB以及iBATIS和Hibernate。每种方案都有其优缺点: 1. SQL/JDBC: - 优点:成熟且流行,采用DAO模式,具有高度灵活性。 - 缺点:代码冗长,可读性和维护性较差,移植性受限,不易于处理复杂查询。 2. Entity Bean (CMP, EJB1.1及以后的EJB3): - 优点:与企业应用服务器紧密集成,未来可能成为EJB3标准。 - 缺点:设计复杂,不灵活,对容器依赖性强,不支持序列化,且关联查询支持不足。 3. JDO: - 优势:简单易用,提供透明的对象管理和存储,符合标准。 - 劣势:相对不成熟,功能可能不如其他选项全面。 4. Apache OJB: - 强调性能和稳定性,属于Apache基金会项目。 - 缺陷:文档资源匮乏,过多的标准支持可能导致学习和维护复杂。 5. iBATIS: - 适合改造遗留系统和复用现有数据库,能控制更多数据库操作细节。 - 不足:持久层封装不够彻底,更像一个DBHelper工具。 6. Hibernate: - 成熟且流行,功能强大,逐渐成为Java持久层的事实标准。 - 优点:提供较高程度的透明度,但可能存在不够透明的方面。 在介绍Hibernate的具体使用时,文中提到了如何使用`newInstance()`方法与`new`关键字创建对象的差异,强调了`newInstance()`基于类加载机制,确保类已加载并连接,适用于需要预加载和管理对象生命周期的情况。此外,文章还涉及Java事务API(JTA)的概念,如不同操作对实例状态的影响,如游离状态(non-persistent)与持久化状态(persistent)的转换,以及对应的SQL操作(INSERT, DELETE, UPDATE)。 最后,示例展示了使用Hibernate执行SQL查询和处理结果的过程,展示了基本的ORM操作技巧。本文旨在帮助读者理解和选择合适的ORM框架,并掌握Hibernate的基本使用方法。