在这个章节里,我们集中于对象/关系范例的结构方面,并且讨论首次四个通用ORM的一些问题。我们谈论了有关持久化类的编程模型,还有Hibernate ORM 元数据中的fine-grained类,对象分身,继承和关联。
您现在应该了解,持久化类在领域模型中应该免于跨领域问题譬如像事务处理和安全。与持续时间相关的影响不应该出现在领域模型中。我们不再愿意考虑对限制性编程的设计的用途譬如我们领域模型中的一些EJB实体bean。相反的,我们使用易懂的持续时间,与unrestrictive POJO 编程模型——对适当的被浓缩的java类型创作的一套最佳的实践。
Hibernate要求您在XML文本格式中提供元数据。您使用这元数据为了所有的持久化类(和表)定义映射的方法。我们为类和属性创建绘图,并且会看类关联绘图。您看到了如何在Hibernate中完成三个知名的继承映射的方法。
您也了解了在实体和值键入对象之间存在的重要差异。实体有它们自己的身份和生存期,但是值键入对象依靠实体并且持久化语义。Hibernate允许fine-grained对象模型比持久化类存有少一点的表。
最后我们在持久化类中完成并映射了我们第一个父/子关联,使用数据库外键域和级联操作完全停止。
在下个章节中,我们研究对象/关系不协调的动态方面,包括我们以前介绍过的级联操作和持久化对象生存期的更深刻的学习。