java - 加入 QueryDSL 的 BooleanBuilder
问题描述
我有这个表t_tarif_quantite
,它有两个不同的外键列引用同一个表(t_facturation_element
)。
alter table t_tarif_quantite
add constraint FKt4c9hn6gcm5gb5ext52dvi4pf
foreign key (fk_facturation_element_id)
references t_facturation_element;
alter table t_tarif_quantite
add constraint FKsryv7qxxo16cx1qkro5qea7wh
foreign key (fk_facture_individuelle_element_id)
references t_facturation_element;
我在我的 Java 文件中使用BooleanBuilder
fromQueryDSL
如下:
BooleanBuilder predicate = new BooleanBuilder();
predicate.and(qUsager.elementsFacturation.any().quantiteParTarifs
.any().tarif.id
.in(listTarifs));
我的问题出在这部分:
elementsFacturation.any().quantiteParTarifs.any()
它创建了一个INNER JOIN
使用错误的外键(在我的情况下是错误的外键fk_facture_individuelle_element_id
),如下所示:
FROM
s_52_bill.t_facturation_element elementsfa3_
INNER JOIN
s_52_bill.t_tarif_quantite quantitepa4_
ON elementsfa3_.id=quantitepa4_.fk_facture_individuelle_element_id
是否可以指定在哪个外键上执行INNER JOIN
?我怎样才能做到这一点?
解决方案
推荐阅读
- artifactory - 使用 RPM 安装后 Artifactory 配置文件在哪里?
- c# - 在 C# 的 IEqualityComparer 中使用泛型
- exception-handling - 在运行时异常的情况下,如何从 Apache Flink 中的函数手动重放元组?
- sql - 唯一列约束是否会影响 SQL Server 中 INSERT 操作的性能
- angular - 可从 eventListener 观察到的角度返回
- bash - 在路径变量中使用带有空格的 perl system() 查询
- r - 如何将具有复杂(不规则)列间分隔符的文本读入 R 数据框中?
- c# - 从一个表中选择所有列,从另一个表中选择 1 列
- javascript - 在 Jquery 中使用选择器
- twitter-bootstrap - 如何隐藏定义为 d-inline-block 的元素而不使其成为块元素?