gpt4 book ai didi

java - Hibernate:是否可以将多级继承映射到单个表?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:50:43 25 4
gpt4 key购买 nike

我有以下继承层次结构:

Task
|
SpecificTask
|
VerySpecificTask

而且我想使用单表继承来持久化它,所以我注释了类:

@Entity
@Table(name="task")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
public class Task

@Entity
public class SpecificTask extends Task

@Entity
public class VerySpecificTask extends SpecificTask

当我尝试保存 VerySpecificTask 类的对象时,出现错误:

Unable to resolve entity name from Class [com.application.task.VerySpecificTask] 
expected instance/subclass of [com.application.task.Task]

我做错了什么?是否可以将多级继承映射到单表?

编辑:这是一个蹩脚的错误,我很快就解决了,所以我删除了它以免弄乱这个问题。

最佳答案

好的,我添加了鉴别器列,现在可以使用了。更改代码:

@Entity
@Table(name="task")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(
name="DTYPE",
discriminatorType=DiscriminatorType.STRING
)

@Entity
public class SpecificTask extends Task

@Entity
public class VerySpecificTask extends SpecificTask

(我添加它只是为了提供一个可接受的答案——如果没有对问题的有用评论,我不会解决它。)

关于java - Hibernate:是否可以将多级继承映射到单个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9130796/

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