gpt4 book ai didi

java - 通用DAO搜索方法

转载 作者:行者123 更新时间:2023-12-01 11:54:33 25 4
gpt4 key购买 nike

我有一个场景,其中有两个实体类。它们的结构就像

Class A{
Long id;
// some fields
}

Class B{
Long id;
Long associtedA;
// some field
}

实体B中的字段associtedA指的是A.id它们之间的关系是 A 一对多 B

我需要获取 A 的列表以及与其相关的 B 数据列表。

我尝试使用搜索来实现这一点。但我无法找到一些可行的解决方案。我也无法更改实体。

我可以通过检索所有 A 列表然后针对每个 A.id 再次检索相关的 B 数据来实现此目的。但为此我必须在循环中进行服务调用,这是我不想要的。

对于这种情况有什么聪明的方法吗?

最佳答案

您可能想看看 JinQ ( http://www.jinq.org )那么你可以这样做:

streamProvider.streamAll(entityManager, B.class).join((a, source) -> source.stream(A.class)
.where(pair -> pair.getOne().id == pair.getTwo().id)
.select(pair -> pair.getOne())
.toArray()

认为这是最聪明的方法;)(当然,您需要 Java 8 来实现 Lambda 表达式)

关于java - 通用DAO搜索方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28541967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com