gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 20:41:17 24 4
gpt4 key购买 nike

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

最佳答案

Hibernate中有两种类型的对象
1.值对象
2. 实体

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

实体对象是像CollegeStudent一样可以独立存在的对象。

因此,对于值对象,首选方法是将它们嵌入到实体对象中。

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

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

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

关于java - 为什么我们在 Hibernate 中使用 @Embeddable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19341838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com