我想知道Apache Cayenne是否有一种方法可以使用其.setTo方法来设置关系,而无需每次调用该方法时一次拉一个对象。我正在处理数千行数据,每次建立关系时,它都要查询对象,这要花几毫秒的时间,而使用如此庞大的数据集则要花几分钟的时间。
我尝试过仔细阅读他们的文档,但是其中很多都被抽象掉了,这使得很难在他们的确切信息中找到我想要的东西。不胜感激!
答案 0 :(得分:0)
惯用的解决方案是,如果您希望访问很大一部分列表对象的关系,则在运行查询时显式地prefetch all relationships:给您原始对象列表:
List<Artist> objects = ObjectSelect.query(Artist.class)
.prefetch(Artist.PAINTINGS.joint())
.select(context);