2013-06-30 134 views
2

我面臨與一對多關係有關的一個問題。我有兩個實體叫做 導師和經驗,兩個實體之間的關係是一對多的關係意味着導師可以有多重經驗。看看下面的代碼JPA中的一對多關係

公共類導師{

@Id 
private String userId; 
    @JoinColumn(name = "T_MENTORS_userId", referencedColumnName = "userId") 
private Collection<Experience> experience; 
} 

體驗實體

public class Experience { 

    @Id 
    private long experienceID; 

}

我怎樣才能找到對任何特定用戶的經驗,我沒有體驗實體中的任何用戶標識字段?

回答

0
Mentor mentor = em.find(Mentor.class, specificUserId); 
Collection<Experience> specificUserExperiences = mentor.getExperiences(); 

或者,使用查詢:

select e from Mentor m left join m.experiences e where m.userId = :specificUserId;