2013-09-26 148 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