使用多对多映射来定义具有多对多多重性的多值关联。多对多映射有两端:拥有端和非拥有端。您必须在拥有端指定连接表。对于双向映射,每一端都可以是拥有端。
在“JPA 结构”视图中,选择要映射的字段。
右键单击该字段,然后选择映射为 > 多对多。“JPA 详细信息”视图(用于属性)显示了所选字段的属性。
使用此表来填写 JPA 详细信息视图的常规信息字段。
使用此表来填写 JPA 详细视图视图中连接表信息区域中的字段。
属性 | 描述 | 缺省值 |
---|---|---|
名称 | 包含外键列的连接表的名称。 | 您必须在拥有端指定连接表。 缺省情况下,假定名称是实体的相关主表名与下划线的并置。 |
连接列 | 选择覆盖缺省值,然后添加、编辑或除去连接列。 | 缺省情况下,假定名称是实体的相关主表名与下划线的并置。 |
逆向连接列 | 选择覆盖缺省值,然后添加、编辑或除去连接列。 | 缺省情况下,假定映射有单个连接。 |
要添加新的连接列或逆向连接列,请单击添加。
要编辑现有连接列或逆向连接列,请选择字段,然后单击编辑。
Eclipse 将对该字段添加以下注释:
@JoinTable(joinColumns=@JoinColumn(name="<JOIN_COLUMN>"), name = "<JOIN_TABLE_NAME>") @ManyToMany(cascade=CascadeType.<CASCADE_TYPE>, fetch=FetchType.<FETCH_TYPE>, targetEntity=<TARGET_ENTITY>, mappedBy = "<MAPPED_BY>") @OrderBy("<ORDER_BY>")