Запрос о двух объектах с одним отношением - PullRequest
1 голос
/ 19 января 2012

Я новичок в мире постоянства :) Может быть, мой вопрос очень глупый, и, возможно, мой подход неверен, но это то, что я хочу задать эксперту. Поэтому моя проблема заключается в написании запроса для объекта, который связан с другим объектом.

@Entity
public class Team {
  String teameName, 
  int teamId,

  @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
  @JoinColumn(name = "team_id", referencedColumnName = "teamId")
  private Set<Player> players;
  /**
     more code for getters and setter for all fields       
  */       
}

@Entity
public class Player {
    String PlayerName,
    String address 
    /**
     *more code for getters and setter for everything       
    */
}

Таким образом, несколько игроков могут принадлежать к одной команде, но у каждого игрока должна быть уникальная команда, которая делает TeamId в качестве внешнего ключа для игрока. Насколько я могу судить, это должно быть правильно. Но сейчас возникает проблема. Теперь я хочу сделать запрос, чтобы найти всех игроков с "playerName = X" и "teamId = Y" И я понятия не имею, как написать такой запрос.

Пожалуйста, кто-нибудь может мне что-нибудь подсказать.

Спасибо заранее.

Jeena

1 Ответ

2 голосов
/ 19 января 2012

Вы хотите прочитать о HQL , языке запросов Hibernate.Это похоже на SQL.

По сути, вы определяете строку hql, а затем выполняете запрос.Что-то вроде

String hql = "select * from Player p where p.PlayerName = :name and team = :team";
Query query = session.createQuery(hql);
query.setParameter("name", "Joe");
query.setParameter("team", team);
List list = query.list();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...