gpt4 book ai didi

java - 如何从映射的父类(super class)继承@Id?

转载 作者:行者123 更新时间:2023-11-30 07:44:12 26 4
gpt4 key购买 nike

我想创建一个主组合键并使用父类中的@Id字段。但这不起作用。为什么?

@MappedSuperclass
static abstract class SuperEntity {
@Id
private Long id;
}

@Entity
@IdClass(SuperPK.class)
public static class ChildEntity extends SuperEntity {
@Id
private String lang;
}


public class SuperPK {
public SuperPK(Long id, String lang) {
//...
}
}

结果:在实体ChildEntity中找不到@IdClass的属性:id

最佳答案

我发现了一个open issue关于这个错误。

其中一条注释指出,作为一种解决方法,可以覆盖 ID 属性的 getter。

@Entity
@IdClass(SuperPK.class)
public static class ChildEntity extends SuperEntity {
@Id
private String lang;

@Override @Id
public Long getId() {
return super.getId();
}
}

关于java - 如何从映射的父类(super class)继承@Id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34158098/

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