在这一章中,我们把注意力集中到了对象/关系不匹配的方面,并且讨论了ORM中常见的4个问题。我们讨论了持久类的编程模型以及细粒度的Hibernate ORM元数据、对象标识、继承和关联关系。
现在你应该明白在业务模型中的持久类应该是松耦合的,不和诸如事务和安全产生关联。甚至持久相关的东西不应该泄漏到业务模型。我们不再使用那些限制非常多的编程模型如EJB。取而代之的是,我们使用透明持久化,一般的POJO,这些都是编程中的最佳实践。
Hibernate要求你提供XML格式的元数据。通过元数据你可以定义持久类的映射策略。我们为类创建映射和关联。你已经看到了三种在Hibernate常用的继承类型的映射。
你也学习了在Hibernate中实体和VO之间的区别。实体拥有属于自身的实体和生命周期,而VO依赖于实体。Hibernate提供了细粒度的对象模型实现了表的数目少于持久类的数目。
最后,我们实现了我们的第一个父/子关联,使用了数据库的外键以及Hibernate总cascading属性。
在下一章中,我们调查了对象/关系不匹配的动态层面,包括关于cascaded操作的深层介绍。