如何使用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 (将#修改为@)