我有3个名为“电影”,“人物”和“角色”的实体,一个人在电影中扮演某个角色。
在我的数据库中,我有这3个实体并链接它们,一个表: 演员(id_movie,id_person,id_role)都是主要的,因为一个人可以是例如制作人和演员。
到目前为止,在我的实体电影中我写了这个链接:
@OneToMany(cascade = CascadeType.ALL)
@JoinTable(name = "distribution",
joinColumns = @JoinColumn(name = "id_movie"),
inverseJoinColumns = @JoinColumn(name = "id_role"))
@MapKeyJoinColumn(name = "id_pers")
private Map<Person,Role> list_cast = new HashMap<Person,Role>();
但当然它不起作用,因为地图中的键是唯一的。 所以list_cast [person]给了我唯一的最后一个角色。