gpt4 book ai didi

java - 如何使用条件API将一张表与不同的表连接起来?

转载 作者:行者123 更新时间:2023-12-01 09:52:52 26 4
gpt4 key购买 nike

我有以下类(class):

class A {
private B b;
// getters/setters
}
class B {
private C c;
private D d;
// getters/setters
}
class C {
private boolean outdated;
// getters/setters
}
class D {
// not important fields
// getters/setters
}

B 类以“一对一”关系连接到 A、C 和 D。

我正在尝试使用条件 api 连接下表。

我有以下代码:

Root<A> root = query.from(A.class);
root.join(A_.b)
.join(B_.c)
.join(B_.d);

但不幸的是,这段代码无法编译,我会在“.join(B_.d)”上遇到错误,因为在将 B 与 C 连接后,我无法使用 B 的字段进行连接。

我想要进行这样的连接的原因是因为我需要条件实体 C 没有过时(所以我会为其添加“on”条件)。

有人知道如何解决这个问题吗?

最佳答案

root.join(A_.b).join(B_.c) 表示 C,因此无法连接到 "B_ .d"。你需要做

Root<A> root = query.from(A.class);
Join<A,B> bJoin = root.join(A_.b);
bJoin.join(B_.c);
bJoin.join(B_.d);

关于java - 如何使用条件API将一张表与不同的表连接起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37498030/

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