JPA 条件 API - LIKE / OR 关系
JPA Criteria API - LIKE / OR on relationship
我正在尝试为分配了 0 到 1 个发票实体的实体店订单实施搜索功能。我尝试了以下方法:
root.fetch("invoice", JoinType.LEFT);
query.where(
builder.or(
builder.and(
builder.isNotNull(root.get("invoice")),
builder.like(root.get("invoice").get("invoiceNumber"), "%"+filter+"%")),
builder.like(root.get("buyerCheckoutMessage"), "%"+filter+"%"))
);
我也试过没有 and 但它仍然 returns 什么都没有,尽管其中一个 OR 对于某些项目是正确的。
有什么想法吗?
试试这个
Join invoice = root.join("invoice", JoinType.LEFT);
query.where(
builder.or(
builder.and(
builder.isNotNull(invoice),
builder.like(invoice.get("invoiceNumber"), "%"+filter+"%")),
builder.like(root.get("buyerCheckoutMessage"), "%"+filter+"%")));
我正在尝试为分配了 0 到 1 个发票实体的实体店订单实施搜索功能。我尝试了以下方法:
root.fetch("invoice", JoinType.LEFT);
query.where(
builder.or(
builder.and(
builder.isNotNull(root.get("invoice")),
builder.like(root.get("invoice").get("invoiceNumber"), "%"+filter+"%")),
builder.like(root.get("buyerCheckoutMessage"), "%"+filter+"%"))
);
我也试过没有 and 但它仍然 returns 什么都没有,尽管其中一个 OR 对于某些项目是正确的。 有什么想法吗?
试试这个
Join invoice = root.join("invoice", JoinType.LEFT);
query.where(
builder.or(
builder.and(
builder.isNotNull(invoice),
builder.like(invoice.get("invoiceNumber"), "%"+filter+"%")),
builder.like(root.get("buyerCheckoutMessage"), "%"+filter+"%")));