gpt4 book ai didi

java - Hibernate select id of join column without join

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:32:06 25 4
gpt4 key购买 nike

问题是我需要从数据库中选择一个对象,里面有一个连接列,我需要那个外部对象的 ID。但是 hibernate 连接这两个表或者如果处于惰性模式,它会再次查询我的数据库。除了主选择查询之外,我如何在没有其他连接或查询的情况下访问该 Id。

请注意,我使用的是 Hibernate +5 版本,并且我想要通过 JPA CriteriaBuilder 的方法。

提前谢谢你。

最佳答案

在这种情况下,您可以将外键映射到实体两次,一次用于实际的 ORM,另一次用于获取 FK 而无需实际触发新查询。

public class Answer {
@JoinColumn(name = "question_id")
@ManyToOne(targetEntity = Question.class, fetch = FetchType.LAZY)
private Question question;

@Column(name = "question_id", insertable = false, updatable = false)
private Long questionId;
}

question_id 出现在 answer 表中。

这样外键将在第一个查询(在 questionId 字段中)的结果中可用,并且不会触发新查询以获取 FK 值。

关于java - Hibernate select id of join column without join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52476273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com