本文档是一篇关于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的基本使用方法。