0

我有以下实体:

@Entity(name = "game_users")
public class GameUser {

    private GameUsersPK primaryKey;

    @EmbeddedId
    public GameUsersPK getPrimaryKey() {
        return primaryKey;
    }
    ...
}

使用以下PK:

@Embeddable
public class GameUsersPK implements Serializable {
    @ManyToOne
    private Game game;

    @ManyToOne
    private User user;
    ...
}

GameUser当我通过执行查询 a时:

GameUser gameUser = em.createQuery("from game_users", GameUser.class).setMaxResults(1).getSingleResult();

我注意到 Hibernate 正在执行两个查询 - 一个 fromgame_users和一个 from games left outer join users

我可以让 Hibernate 在一个查询中获取所有实体from game_users, games, users吗?

谢谢。

4

1 回答 1

2
select gu from GameUser gu
left join fetch gu.primaryKey.game
left join fetch gu.primaryKey.user

阅读有关 HQL 和关联的 Hibernate 文档

于 2012-06-02T19:15:41.260 回答