您好,希望得到一些帮助,我有一张这样的桌子
status senderbank receiverbank
Completed HDFC SBI
Queued SBI HDFC
Failed SBI ICICI
如果用户输入与senderBank或ReceiverBank进行比较的银行名称,我就能得到详细信息。但是如果状态为排队,则应该仅与senderBank.Ex进行比较。例如:用户尝试搜索HDFC时,应该只会得到第一条记录即
status senderbank receiverbank
Completed HDFC SBI
下面是我尝试过的代码:
public Specification<Entity> hasBankName(String bankName) {
return (root,query,cb) -> cb.or(cb.equals(root.get("senderBank"), bankName),cb.equal(root.get("receiverBank"), bankName));
有人在排队时请帮助我修改上面的代码。谢谢。
答案 0 :(得分:0)
此specification
应该有效:
(root,query,cb) -> cb.and(cb.or(cb.equals(root.get("senderBank"), bankName), cb.equal(root.get("receiverBank"),
cb.notEqual(root.get("status"), "Queued"))))