gpt4 book ai didi

java - 使用 Hibernate table-per-class 时,如何防止为基类创建表?

转载 作者:行者123 更新时间:2023-11-30 07:13:17 25 4
gpt4 key购买 nike

我有两个类:一个 BaseClass 和一个扩展 BaseClass 的 ExtendedClass。我想使用 Hibernate 将 ExtendedClass 持久保存到单个数据库表,并且我希望它也持久保存 BaseClass 中的所有字段。

我想我想使用每个类一个表的范例,但是我不想让 Hibernate 为 BaseClass 创建一个数据库表(我也不想向 BaseClass 添加一个 @Id)。有什么办法可以抑制这种情况吗?

我正在做这样的事情:

@Entity
class BaseClass {
int value1;
}

@Entity
@Table(name="extendedClasses")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
class ExtendedClass extends BaseClass {
@Id long id;
int value2;
}

我希望数据库有一个这样的表:

table extendedClasses
(
long id
int value1
int value2
)

最佳答案

如果您将 @Entity 放在基类上,您必须定义一个 id,这将在您的数据库中生成一个表。

@Entity 替换为 @MappedSuperclass 会产生所需的结果。

关于java - 使用 Hibernate table-per-class 时,如何防止为基类创建表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19595582/

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