2013-09-26 167 views
0

我正在嘗試使用JPA將我的java對象映射到數據庫表。我知道你通常使用註釋來將字段映射到列。我有一個叫Team的類,它有一個id(主鍵)和名字。就課程而言,id和name是它唯一的屬性。但是,在數據庫中,球隊表有一個id,名字和club_id,因爲球隊與俱樂部有關。將表映射到POJO

有沒有一種方法可以在插入中包含club_id而不明確地添加club_id作爲團隊類的屬性?

+0

看@ManyToOne – BevynQ

+0

你爲什麼要那麼做?這聽起來像該團隊屬於哪個俱樂部是領域模型的重要組成部分。 – chrylis

回答

1

有幾種方法可以做到這一點。

一對多(單向)

在你的俱樂部實體

你會

@OneToMany 
@JoinColumn(name="club_id", referencedColumnName="club_id") 
private List<Team> teams; 

一對多在你的俱樂部實體

@OneToMany(mappedBy="club") 
private List<Phone> teams; 

(雙向)

你的團隊實體

@OneToMany(fetch=FetchType.LAZY) 
@JoinColumn(name="club_id") 
private Club club;  
+0

所以我需要添加一個俱樂部作爲團隊的一個屬性? – user1154644

+0

這一切都取決於你想如何訪問該項目。 「團隊」應該知道「俱樂部」,而「俱樂部」是否知道「團隊」?你可能還想在你的俱樂部有一個'@ OneToMany'與「Team」關聯。 – buzzsawddog