一尘不染

为什么我们在Hibernate中使用@Embeddable

hibernate

有什么用的@Embedded,并@Embeddable在Hibernate?因为我在互联网上发现的每个示例都将数据插入到单个表中,并使用两个不同的类来做到这一点。我的观点是,如果我使用单个表,那么我可以在单个类中映射所有列,那么为什么要使用不同的类。如果我们使用两个不同的表,则存在one- to-oneone-to-manyhibernate关系。


阅读 271

收藏
2020-06-20

共1个答案

一尘不染

Hibernate
1中有两种对象。Value Object2
。实体

价值对象 是不能独立存在的对象。以Address为例。如果您说出地址,人们会问这是谁的地址。所以它不能孤单。

实体对象 是那些可以像College和一样独立的 对象Student

因此,在使用值对象的情况下,首选方法是将它们嵌入到实体对象中。

要回答为什么我们要创建两个不同的类:首先,这是一个OOPS概念,您应该在类之间具有松散的耦合和较高的内聚力。这意味着您应该仅出于专门目的创建类。例如,您的Student课程只应包含与相关的信息Student

第二点是,通过创建不同的类,可以提高可重用性。

当我们为实体类定义值对象时,我们使用@Embeddable
当我们在实体类中使用值类型对象时,我们使用@Embedded

2020-06-20