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

Database 什么';Hibernate中不同映射类型之间的区别是什么?,database,hibernate,database-design,orm,Database,Hibernate,Database Design,Orm,我是数据库设计和Hibernate方面的新手。我开始阅读Hibernate的文档。它讨论了“集合映射”、“关联映射”和“组件映射”。我不理解它们之间的区别,也不确定何时在一对多/多对一/多对多关系中使用什么。对我来说,他们似乎都做了几乎相同的事情 您能解释一下Hibernate文档中提到的“集合映射”、“关联映射”和“组件映射”之间的区别吗?最好使用哪种映射的时间示例将受到赞赏 另外,我不知道这个问题是否太笼统了。如果你认为是这样,很抱歉浪费了你的时间。任何对一个好的一般文本或网站的建议也会很好

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

您能解释一下Hibernate文档中提到的“集合映射”、“关联映射”和“组件映射”之间的区别吗?最好使用哪种映射的时间示例将受到赞赏

另外,我不知道这个问题是否太笼统了。如果你认为是这样,很抱歉浪费了你的时间。任何对一个好的一般文本或网站的建议也会很好

谢谢

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

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

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