现在你已经了解了Hibernate和ORM如何解决对象/关系不匹配静态方面的问题。到目前为止,这些知识可以解决那些结构上不匹配的问题了,但是我们需要更多东西来提供更有效率的解决方案。我们必须考虑运行时数据的访问,因为数据访问是程序性能的关键部分。你需要学习如何有效的保存和装载对象。
这一章涵盖了对象/关系不匹配行为方面的问题,在第一节中列出了O/R映射中的后四个问题。这四个问题和在第三章中介绍的同样重要。在实际开发中,开发者更多的关注与结构上的不匹配,而忽略了动态匹配方面的问题。
在这一节中,我们将讨论对象的生命周期——对象如何被持久化,如何停止持久化以及相关的方法。Hibernate的Session负责管理对象的状态,因此你需要学习如何使用这个重要的API。
有效的获取对象图是一个核心问题,因此我们将介绍最基础的策略。Hibernate提供了几种查询对象的方法。由于网络速度的问题常常影响程序的性能,你必须考虑如何尽可能的减少和数据库的连接。
让我们开始讨论对象以及其生命周期,以及出发持久化的事件。这些基本的概念会帮助你使用对象图,因此你会了解到何时以及如何去装载和保存你的对象。这些知识可能有些正式,但是对于理解持久化生命周期是非常有用的。