Java 如何正确获取与实体相关的对象

Java 如何正确获取与实体相关的对象,java,spring,java-8,entity,jooq,Java,Spring,Java 8,Entity,Jooq,我拥有大约以下实体: public class Article { private String name; private Long fileId; } 如您所见,它有一个字段fileld,其中包含关联文件的id,该文件也是一个实体。但是,该文件对文章一无所知,因此连接它们的唯一对象是文章中的fileId字段。因此,它们必须明确链接,以免丢失。现在要获得链接文件,我必须为每一篇文章单独查询数据库。也就是说,如果我想得到一个包含10篇文章的列表,我需要向数据库发出10次请求,并

我拥有大约以下实体:

public class Article {
    private String name;
    private Long fileId;
}

如您所见,它有一个字段
fileld
,其中包含关联文件的id,该文件也是一个实体。但是,该文件对
文章
一无所知,因此连接它们的唯一对象是
文章
中的
fileId
字段。因此,它们必须明确链接,以免丢失。现在要获得链接文件,我必须为每一篇
文章
单独查询数据库。也就是说,如果我想得到一个包含10篇文章的列表,我需要向数据库发出10次请求,并通过其id获取文件。这看起来效率很低。如何才能做得更好?我使用了
jooq
,所以我不能使用
JPA
,所以我不能用文件对象代替
fileId
字段。有什么想法吗?

我假设您的基础表如下所示:

创建表文件(
id bigint主键
内容块
);
创建表格项目(
名称文本,
文件\u id bigint引用文件
);
在这种情况下,您可以使用以下单个查询将所有10个文件提取到内存中:

结果=
ctx.select()
.来自(文章)
.join(FILE).on(ARTICLE.FILE_ID.eq(FILE.ID))
.fetch();