例如,有一个实体“User”,@ManyToOne(fetch=Lazy)
字段为“Team”。我使用 entityManager.find(User.class, userId)
获取用户。此时,如果我调用 user.getTeam()
,查询将发送到数据库以获取团队对象。有没有办法无需额外查询即可获取团队 ID?
最佳答案
出于这些目的,我对列进行了两次映射。一次与 insert="true"
和 update="true"
多对一。
然后我附加一个 TeamId 属性并将其映射为 int insert="false"
和 update="false"
。我使用 formula
而不是 column
映射。
TeamId 在第一次选择后可用。
关于Hibernate/JPA - 如何在不触发延迟加载的情况下获取@ManyToOne 字段的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13342740/