微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用JPA将外键映射为表上的@Id?

如何解决如何使用JPA将外键映射为表上的@Id?

我有

TABLE A : id_A (PK)
TABLE B : id_B (PK),id_FK_A (FK) <== which is id_A

使用 JPA 映射,我在 TABLE B 实体上做了这个

@Entity
@Getter
@Setter
@Table(name = "TABLE_B")
public class B implements Serializable {

@Id
@Column(name = "id")
private Integer id_B;

@Id
@ManyToOne()
@JoinColumn(name = "id_FK_A") <== is it correct ?
private A id_A;

错误来自在 save() 实例上向 TABLE B 传送的函数。但首先,我的实体 B 正确吗? id_A 应该按照我的方式映射吗?

我不认为我应该在这里使用任何 @IdClass 或复合键。

编辑 为什么我有这个错误

This class [class ....entity.B] does not define an IdClass

我认为 IdClass 是用于 composite keys 的,就我而言,我确实只有一个应该来自表 A 的外键 id_A

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。