java - 如何使用 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
,在我的情况下,我只有一个id_A
应该来自表 A 的外键!
解决方案
推荐阅读
- node.js - Nodejs:色度键/合成两个图像
- php - html 和 body 的高度不是 100%
- nested-loops - 了解嵌套循环
- angular - Angular ngFor 动态属性
- heap-memory - 将 Weblogic 10.3.6 堆大小增加到 4 GB 时出现错误
- excel - 是否需要变量而不是“或”
- javascript - 如何更改对象中特定值的字体颜色?
- java - 在运行时更新 Tab 片段 TextViews
- python - 有条件地对齐两个数据帧,以便派生作为 numpy 中的条件传入的列,其中
- apache-spark - spark worker 使用了多少个 jvm 进程?