首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate Criteria API

Hibernate Criteria API
EN

Stack Overflow用户
提问于 2010-12-17 12:56:50
回答 1查看 331关注 0票数 2

在今天的采访中,我被问到关于Hibernate急切加载的问题。问题是:如果有一个Employee类和一个Address class and relationship:1 employee -->多个地址。如何使用单个查询来查询Employee类并获取所有地址?

我提到过,我们可以在Address...but上打开预加载,这将导致N+1 sql。

要求是使用1个sql加载所有员工和地址。答案应该是与Hibernate Criteria API有关。当我在网上看的时候,我不确定如何才能做到这一点。如果你有ANy的想法,我将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-17 14:18:54

hibernate reference:

代码语言:javascript
复制
List cats = sess.createCriteria(Cat.class)
    .add( Restrictions.like("name", "Fritz%") )
    .setFetchMode("mate", FetchMode.EAGER)
    .setFetchMode("kittens", FetchMode.EAGER)
    .list();

这将检索一个名为Fritz%的猫的列表,这些猫已经加载了它们的配偶引用,它们的kitten集合也已经加载。

应该尝试一下类似这样的东西,以检查生成的sql,看看它是否在fetch more设置为Eager的情况下对引用执行了外连接。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4467808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档