是否可以映射使用引用表中的键的地图集合? 它难以解释,所以这里是我想要完成的一个例子。我想在Type实体中使用语言代码(String)映射到TypeLang实体。
@Entity
public class Type {
@OneToMany(mappedBy = "type")
@MapKeyJoinColumn(name = "language.code")
private Map<String, TypeLang> langMap;
}
@Entity
public class TypeLang {
@ManyToOne
@JoinColumn(name = "type_id")
private Type type;
@ManyToOne
@JoinColumn(name = "lang_code")
private Language language;
}
@Entity
public class Language {
@Id
@Column(name = "code")
@GeneratedValue
private String code;
}
答案 0 :(得分:1)
如果您希望您的密钥成为实体,则使用MapKeyJoinColumn。要使用String,您必须使用MapKeyColumn批注。