首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JPA 2 CriteriaQuery中的FetchMode

是用于指定关联查询中的数据获取策略的枚举类型。FetchMode有两个常用的取值:LAZY和EAGER。

  1. LAZY(延迟加载):当使用LAZY模式时,关联对象的数据将在需要时才被加载。这意味着在查询主对象时,关联对象的数据不会被立即加载,而是在访问关联对象时才会触发加载。这种方式可以提高查询性能,避免不必要的数据加载。在JPA中,LAZY是默认的FetchMode。
  2. EAGER(立即加载):当使用EAGER模式时,关联对象的数据将在查询主对象时立即加载。这意味着无论是否需要使用关联对象的数据,它们都会被一起加载。这种方式可以确保在查询主对象时,关联对象的数据已经可用,但可能会导致性能问题,特别是当关联对象的数据量较大时。

FetchMode在CriteriaQuery中的使用示例:

代码语言:java
复制
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Order> query = cb.createQuery(Order.class);
Root<Order> orderRoot = query.from(Order.class);
orderRoot.fetch("customer", JoinType.INNER); // 使用EAGER模式加载关联对象
query.select(orderRoot);

List<Order> orders = entityManager.createQuery(query).getResultList();

在上述示例中,我们使用CriteriaQuery查询订单(Order)对象,并使用FetchMode指定了关联对象(customer)的加载策略。在这里,我们使用EAGER模式加载关联对象,确保在查询订单时,关联的顾客(customer)对象也会被立即加载。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

1分24秒

Python中urllib和urllib2库的用法

3分29秒

如何将AS2 URL中的HTTP修改为HTTPS?

13分25秒

27_尚硅谷_专题12:IDEA中的常用插件-2

11分50秒

JavaScript教程-49-JSON在开发中的使用2【动力节点】

11分34秒

06_尚硅谷_Java11_集合中的新API2

5分13秒

08_尚硅谷_Java11_流中的新API2

1分13秒

07-Servlet-2/07-尚硅谷-Servlet-回顾javaweb中的路径

27分59秒

151_CRM项目-处理交易详细信息页中的阶段及图标2

14分19秒

day01_6_尚硅谷_硅谷p2p金融_p2p金融与业务中双方的关系

5分21秒

day02_33_尚硅谷_硅谷p2p金融_ViewPagerIndicator中CirclePageIndicator的使用

16分19秒

day24_集合/15-尚硅谷-Java语言高级-Map中的常用方法2

16分19秒

day24_集合/15-尚硅谷-Java语言高级-Map中的常用方法2

领券