有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JPA标准API类似/或基于关系

我正在尝试为实体shoporder实现一个搜索功能,该实体指定了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+"%"))
            );

我也试过了,但它仍然没有返回任何内容,尽管其中一个ORs对某些项目是正确的。 有什么想法吗


共 (1) 个答案

  1. # 1 楼答案

    试试这个

    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+"%")));