一對多對映

使用一對多對映,以定義一種存在一對多對應關係的關係。

  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