繁体   English   中英

JPA / Hibernate - 如何获取EmbeddedId?

[英]JPA / Hibernate - How to EAGERly fetch EmbeddedId?

我有以下实体:

@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时:

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

我注意到Hibernate正在执行两个查询 - 一个来自game_users ,一个来自games left outer join users

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

谢谢。

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

阅读有关HQL和关联Hibernate文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM