java - Apache Cayenne - 批量关系设置
问题描述
我想知道 Apache Cayenne 是否有一种方法可以使用他们的 .setTo 方法来设置关系,而不会在每次调用该方法时一次拉一个对象。我正在处理数千行数据,并且每次设置关系时都必须查询对象需要几毫秒,对于这么大的数据集,这加起来需要几分钟。
我已经尝试过挖掘他们的文档,但是其中一些被抽象掉了,这使得很难在他们的文档中找到我正在寻找的东西。将不胜感激任何提示!
解决方案
一个惯用的解决方案是在运行查询时显式预取所有关系,如果您预期访问这些关系以获得很大比例的列表对象,则该查询会为您提供原始对象列表:
List<Artist> objects = ObjectSelect.query(Artist.class)
.prefetch(Artist.PAINTINGS.joint())
.select(context);
推荐阅读
- datadog - Datadog 导出日志超过 5,000 条
- r - ggplot 用于线性对数回归模型?
- java - 当 Spring 的方法之一使用 @transactional 注释时,Spring 不会为 @service 注释类创建 bean
- javascript - 如何将具有嵌套数组的对象转换为平面对象数组?
- python - 如何在 Docker 内部的 Django 中迁移数据库
- php - Laravel 8 返回空白页
- magento2 - report.CRITICAL:提供空或未提供私钥 [] []
- maven - IntelliJ IDEA 中突然出现“包不存在”
- javascript - SOCKET IO:版本 3 或 4 中是否有命令断开所有用户与房间的连接?
- typescript - 删除时未找到 Cosmos DB 实体,但存在且能够获取