Hibernate/JPA - 如何在不触发延迟加载的情况下获取 @ManyToOne 字段的 id

Jia*_*Zhu 2 hibernate jpa

例如,有一个实体“用户”,其@ManyToOne(fetch=Lazy)字段“团队”。我已经使用过entityManager.find(User.class, userId)获取用户。此时,如果我调用user.getTeam()查询将发送到数据库以获取团队对象。有没有办法无需额外查询即可获取团队 ID?

Rad*_*ler 5

出于这些目的,我将该列映射了两次。insert="true"一次与和一样多对一update="true"

然后我附加一个TeamId属性并将其映射为 intinsert="false"update="false"column我不使用映射,而是使用formula.

TeamId 在第一次选择后可用。