如何使用HQL或Criteria API从一对多检索对象

时间:2014-10-16 08:34:32

标签: hibernate hql criteria-api

开始用示例学习hibernate。 我写了一个班级“团队”,与(收集)玩家有一对多的关系。

我需要得到所有团队

  1. 其中玩家名称为“X”(X不是Player表的主键)
  2. 玩家“Y”在
  3. 我想我必须通过使用Criteria API或HQL来完成这项工作。有人能告诉我如何实现它。

1 个答案:

答案 0 :(得分:1)

Thsi适用于OneToMany关系,即1个小组可以有多个Players,每个Player不会映射到多个Team

@Entity
public class Team implements Serializable {
private Set<Player>    players;
}


@Entity
public class Player implements Serializable {
private String playerName;
}

其中玩家名称为“X”(X不是Player表的主键)

SELECT t from Team t inner join t.players tp WHERE t.id = :id AND   tp.playerName = :name