我有以下实体:
@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 external join users
。
我可以让 Hibernate 在一个查询中获取所有实体 - 来自 game_users、games、users
吗?
谢谢。
最佳答案
select gu from GameUser gu
left join fetch gu.primaryKey.game
left join fetch gu.primaryKey.user
关于java - JPA/Hibernate - 如何急切地获取 EmbeddedId?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10865024/