gpt4 book ai didi

hibernate 条件 API

转载 作者:行者123 更新时间:2023-12-04 06:39:19 26 4
gpt4 key购买 nike

我在今天的采访中被问到 Hibernate 急切加载。问题是:如果有一个 Employee 类和一个 Address 类以及关系:1 个员工 --> 很多地址。
如何通过单个查询查询 Employee 类并获取所有地址?

我提到我们可以在 Address 上打开预先加载...但这将导致 N+1 条 sqls。

要求是使用 1 个 sql 加载所有员工和地址。
答案可能与 Hibernate Criteria API 有关。当我在网上查看时,我不确定如何实现。
任何想法将不胜感激。

最佳答案

来自 hibernate reference:

List cats = sess.createCriteria(Cat.class)
.add( Restrictions.like("name", "Fritz%") )
.setFetchMode("mate", FetchMode.EAGER)
.setFetchMode("kittens", FetchMode.EAGER)
.list();
这将检索名称为 Fritz% 的猫的列表,它们的配偶引用已经加载,并且它们的小猫集合也已经加载。
应该尝试使用类似的方法来检查生成的 sql,以查看它是否正在对引用进行外连接,并将 fetch more 设置为 Eager。

关于 hibernate 条件 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4467808/

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