gpt4 book ai didi

java - @Entity 和 @Embeddable 有什么区别

转载 作者:IT老高 更新时间:2023-10-28 20:36:40 26 4
gpt4 key购买 nike

@Entity和@Embeddable注解在类声明前各加一个的区别?

  1. 第一个创建类作为实体,第二个插入另一个表的列?
  2. 第一个创建类作为表,而第二个嵌入到另一个类中?
  3. 第一个将标准设置为一个类,第二个定义表类型
  4. 第一个为该类创建表,第二个将某些内容嵌入到不同的类中
  5. 第一个定义表属性,第二个创建两个表的联合

最佳答案

一个类上的

@Entity 注释定义了它具有不同的独立存在。因此我们可以运行数据库查询,而不依赖于任何其他类。类上的 @Embeddable 注释定义,它不具有独立存在。因此,如果不依赖其他类,我们就无法运行数据库查询。这是一个更好地理解它的示例:

@Entity
User
-- long id
-- String name
-- String email
@Embedded
-- UserDetails userDetail

@Embeddable
UserDetails
-- Date dateOfBirth
-- String sex
-- String address
-- String maritalStatus

这里可以看到没有UserUserDetails是没用的。

通常,在 OOP 中,我们首先设计类,然后设计数据库实体。对于某些类(如上例中的 UserDetails 类),我们不希望 DB 中有单独的表,它们的独立存在是没有意义的。在这些情况下,我们将类标记为可嵌入的。

通常,可嵌入类与其嵌入的实体共享同一个表

关于java - @Entity 和 @Embeddable 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21143707/

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