我面临一个与一对多关系有关的问题。我有两个实体叫 导师和经验,两个实体之间的关系是一对多关系意味着导师可以有多种经验。见以下代码
公共班导师{
@Id
private String userId;
@JoinColumn(name = "T_MENTORS_userId", referencedColumnName = "userId")
private Collection<Experience> experience;
}
体验实体
public class Experience {
@Id
private long experienceID;
}
我如何找到针对任何特定用户的体验,因为我在体验实体中没有任何用户ID字段?
答案 0 :(得分: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;