java—如何在jpa中使用多个主键或特定主键连接列

fykwrbwg  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(292)
@Entity
@Table(name = "A")
public class A {
    @Id
    @Column(name = "id")
    private Long id;

    @Id
    @Column(name = "name")
    private String name;

    @JoinColumn(name = "test_id")
    private List<Test> testId;
}
@Entity
@Table(name = "Test")
public class Test {
    @Id
    @Column(name = "test_id")
    private Long testId;
}

错误结果为
jpa与onetoone的关系有问题:外键引用的列数错误。应该是2“
如何为连接测试表指定主键?
表a:列idMap表b:列测试id

6mw9ycah

6mw9ycah1#

自从你的table A 如果有一个复合键,则应该将列分离到另一个键类中,然后在表的键的各个部分上联接。
例如,创建 AKey ```
@Embeddable
public class AKey {

@Column(name = "id")
private Long id;

@Column(name = "name")
private String name;

//getters and setters

}

然后替换a类中的ID

@Entity
@Table(name = "A")
public class A {
@EmbeddedId
private AKey key;

@JoinColumn(name = "test_id")
private List<Test> testId;

}

然后可以在test.testid=a.key.id上进行连接

相关问题