我正在使用Qdsl和Spring Data Rest,我想为以下条件编写布尔表达式。请提出建议。
我有3张桌子说
user1 | null | AMZ
user2 | DELL | null
user3 | null | AMZ
user4 | DELL | null
DELL | DELLY
AMZ | Amazonx
从用户u中选择*,其中u.customer_code输入(从customer.company_name ='Amazonx'的客户中选择customer.customer_code)或u.partner_id in(从partner.partner.name ='Amazonx'的伙伴中选择id) / p>
user.customer.companyName = Amazonx || user.partner.name = Amazonx
但是没有输出。
在调试时得到查询:
从用户user0_交叉加入客户customer1_交叉加入伙伴partner2_中选择user0_.username作为username1_15_,user0_.customer_code作为customer6_15_,user0_.partner_id作为partner_8_15_,其中user0_.customer_code = customer1_.customer_code和user0_.partner_id = partner2。 (customer1_.company_name =?或partner2_.name =?)限制?',参数:['Amazonx','Amazonx',10]
“ user0_.customer_code = customer1_.customer_code和user0_.partner_id = partner2_.id”返回false,因为任一值均为null。
如何构造布尔表达式以在公司名称或合作伙伴名称匹配时获取所需的用户名。