gpt4 book ai didi

java - JPA "DTYPE"标识符无效

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:39:30 25 4
gpt4 key购买 nike

我有一个实体对象 A,它与表和另一个实体对象“AjoinB”映射 1 到 1,它从单个实体对象扩展并与另一个实体对象连接。因此,我得到了这个“DTYPE”无效标识符。下面是一个例子

@Entity
@Table(name="TableA")
@NamedQuery(...)
public class A implements Serializable{
@EmbeddedId
private ABC id;
@Column(name="...")
//getters/setters

@Entity
@Table(name="TableA")
@NameQuery(...)
public class AjoinB extends A{
@OneToOne
@JoinColumn({...}
private B b;
//gettter/setters

有人知道如何解决这个问题吗?我知道做继承的东西会生成那个 DTYPE 但我的表没有那个列:(

更清楚地说,我可以有一个没有鉴别器列的单表继承吗?在我的实体中有鉴别器列是没有意义的

最佳答案

如果没有完整的堆栈跟踪,很难进行诊断,但您可能已经知道,API docs say :

If the @DiscriminatorColumn annotation is missing, and a discriminator column is required, the name of the discriminator column defaults to "DTYPE" and the discriminator type to DiscriminatorType.STRING.

其他answers (也是 here )建议添加显式 @DiscriminatorColumn 可能会解决问题。然而,我会第一个承认似乎没有一个决定性的、通用的答案。

关于java - JPA "DTYPE"标识符无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35733451/

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