[英]JPA / Hibernate - How to EAGERly fetch EmbeddedId?
I have the following entity: 我有以下实体:
@Entity(name = "game_users")
public class GameUser {
private GameUsersPK primaryKey;
@EmbeddedId
public GameUsersPK getPrimaryKey() {
return primaryKey;
}
...
}
With the following PK: 使用以下PK:
@Embeddable
public class GameUsersPK implements Serializable {
@ManyToOne
private Game game;
@ManyToOne
private User user;
...
}
When I query for a GameUser
by executing: 当我通过执行以下命令查询
GameUser
时:
GameUser gameUser = em.createQuery("from game_users", GameUser.class).setMaxResults(1).getSingleResult();
I notice Hibernate is executing two queries - one from game_users
and one from games left outer join users
. 我注意到Hibernate正在执行两个查询 - 一个来自
game_users
,一个来自games left outer join users
。
Can I make Hibernate fetch all entities in one query - from game_users, games, users
? 我可以让Hibernate在一个查询中获取所有实体 -
from game_users, games, users
吗?
Thanks. 谢谢。
select gu from GameUser gu
left join fetch gu.primaryKey.game
left join fetch gu.primaryKey.user
Read the Hibernate documentation about HQL and associations . 阅读有关HQL和关联的Hibernate文档 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.