gpt4 book ai didi

JPA 注释将包含来自非实体父类(super class)的字段(来自 JAR!)

转载 作者:行者123 更新时间:2023-12-02 11:30:37 25 4
gpt4 key购买 nike

我正在使用 spring boot、spring JPA 并遇到以下问题:我创建了一些类“B”,它从 JAR 扩展了一些类“A”,放入 @Entity@Table 类“B”上的注释(我不能在类“A”上执行相同的操作),但是当 Spring/Hibernate 创建表时,仅包含类“B”中的字段。

// some class from JAR
// not an Entity
class A {
String fieldA;
}

@Entity
@Table(name = "B")
class B extends A {
String fieldB;
}

在数据库中创建的表

+--------+                                +--------+--------+
| fieldB | but I want this to be made | fieldA | fieldB |
+--------+ +--------+--------+

如何管理?是否有一些 JPA 注释可以放在 B 类上来解决这个问题?

编辑:如果@AttributeOverride注释是解决方案,如何在@Id时将该覆盖字段标记为Id code>注释不能放在类之外吗?

最佳答案

您可以在 getter 上设置 @Id

@Entity
@Table(name = "B")
class B extends A {
String fieldB;

@Id
@Override
public String getFieldA() {
return super.getFieldA();
}
}

关于JPA 注释将包含来自非实体父类(super class)的字段(来自 JAR!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42251341/

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