一对多映射

使用一对多映射来定义具有一对多多重性的关系。

  1. “JPA 结构”视图中,选择要映射的字段。

  2. 右键单击该字段,然后选择映射为 > 一对多“JPA 详细信息”视图(用于属性)显示了所选字段的属性。

  3. 使用此表来填写“JPA 详细信息”视图中的常规信息字段。

    属性 描述 缺省值
    映射实体类型超链接 将映射定义为一对多映射。这与 @OneToMany 注释相对应。 一对多
    目标实体 此属性所映射的实体。
    级联 有关详细信息,请参阅级联类型
    • 缺省值

    • 全部

    • 持久

    • 合并

    • 除去


    访存 定义如何从数据库装入数据。有关详细信息,请参阅访存类型
    • 提前

    • 延迟

    提前
    映射者 拥有关系的数据库字段。
    排序依据 指定从查询返回的对象的缺省顺序。有关详细信息,请参阅排序依据
    • 不排序

    • 主键

    • 定制

    不排序

  4. 使用此表来填写“JPA 详细信息”视图中的连接表信息字段。

    属性 描述 缺省值
    名称 连接表的名称。 缺省情况下,假定名称是实体的相关主表名与下划线的并置。
    连接列 指定两个或多个连接列(即,主键)。
    逆向连接列 关联的被拥有端(即逆向端)的连接列:被拥有实体的主键列。

Eclipse 将对该字段添加以下注释:

@OneToMany(targetEntity=<TARGET_ENTITY>)
@Column(name="<COLUMN>")


@OneToMany(targetEntity=<TARGET_ENTITY>.class, cascade=CascadeType.<CASCADE_TYPE>,
    fetch = FetchType.<FETCH_TYPE>, mappedBy = "<MAPPED_BY>")@OrderBy("<ORDER_BY>")
@JoinTable(name="<JOIN_TABLE_NAME>", joinColumns=@JoinColumn(name=
    "<JOIN_COLUMN_NAME>", referencedColumnName="<JOIN_COLUMN_REFERENCED_COLUMN>"),
    inverseJoinColumns=@JoinColumn(name="<INVERSE_JOIN_COLUMN_NAME>",
    referencedColumnName="<INVERSE_JOIN_COLUMN_REFERENCED_COLUMN>"))


 

相关任务

映射实体

 

相关参考

“JPA 结构”视图
“JPA 详细信息”视图(用于属性)

 

相关概念

理解 OR 映射
理解 EJB 3.0 Java 持久性 API