与QueryDSL的BooleanBuilder结合

时间:2018-10-03 09:20:14

标签: java querydsl

我有这个表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中的QueryDSL

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?我该怎么办?

0 个答案:

没有答案