package org.hibernate.test.annotations.loader; import java.util.HashSet; import java.util.Set; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.OneToMany; import org.hibernate.annotations.Fetch; import org.hibernate.annotations.FetchMode; import org.hibernate.annotations.Loader; @Entity public class Team { private Long id; private Set<Player> players = new HashSet<Player>(); @Id @GeneratedValue public Long getId() { return id; } public void setId(Long id) { this.id = id; } @OneToMany(targetEntity = Player.class, mappedBy = "team", fetch = FetchType.EAGER) @Fetch(FetchMode.SELECT) @Loader(namedQuery = "loadByTeam") public Set<Player> getPlayers() { return players; } public void setPlayers(Set<Player> players) { this.players = players; } }