Hibernate中不同映射类型之间的区别是什么?

时间:2009-02-14 00:08:15

标签: database hibernate database-design orm

我是数据库设计和Hibernate的新手。我开始阅读Hibernate的文档。它谈到了“集合映射”,“关联映射”和“组件映射”。我不理解它们之间的区别,也不确定何时在一对多/多对一/多对多关系中使用什么。对我来说,他们似乎都做了同样的事情......

你能解释一下Hibernate doc提到的“集合映射”,“关联映射”和“组件映射”之间的差异吗?什么时候最好使用哪个映射的例子将被赞赏。

PS。我不知道这问题是否过于笼统。如果你认为是,抱歉浪费你的时间。对优秀的一般文本或网站的任何建议都会很好。

谢谢!

1 个答案:

答案 0 :(得分:7)

  • 集合映射是指通过使用java.util.Collection的实现进行映射的一对多或多对多关系。

  • 关联映射是指通过使用您在Hibernate中映射的另一个类(也称为“实体”)映射的多对一或一对一关系。关联对象有自己的生命周期,只与第一个对象相关。

  • 组件映射是指将生命周期与父级紧密绑定的类(或类集合)映射。在面向对象编程中严格定义单词时,这也称为“组合”。基本上,如果删除父对象,也应删除子对象;如果没有父母,它也不能独立存在。