我尝试在实体A中映射Set<String>
,每个字符串引用实体B的主键。
我坚持:必须是对密钥的引用。不是整个实体 ......我已经知道如何制作@ManyToOne,@ OneToMany等等......;)
例如:
@Entity
public class A {
(...)
@Id
@GeneratedValue
private long id;
// Here is the problem: I want the siren as a foreign key of entity B
@ElementCollection
private Set<String> b_ids;
(...)
}
@Entity
public class B {
(...)
@Id
private String id;
(...)
}
修改 我试着重新提出一个问题:是否有办法存储一个实体的唯一ID,但是链接(以及对ManyToMany的检查和控制等等)到外键?
答案 0 :(得分:0)
它应该与一些额外的注释一起使用。资料来源:https://javabydeveloper.com/mapping-collection-of-basic-value-types-jpa-with-hibernate/
@Entity
public class A {
(...)
@Id
@GeneratedValue
private long id;
@ElementCollection
@CollectionTable(name="B", joinColumns=@JoinColumn(name="id"))
@Column(name="id")
private Set<String> b_ids;
(...)
}
因此添加了CollectionTable和Column注释。