Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 有没有可能忽略JPA示例匹配器的所有路径_Spring_Spring Data Jpa_Matcher_Query By Example - Fatal编程技术网

Spring 有没有可能忽略JPA示例匹配器的所有路径

Spring 有没有可能忽略JPA示例匹配器的所有路径,spring,spring-data-jpa,matcher,query-by-example,Spring,Spring Data Jpa,Matcher,Query By Example,我是春天少年警讯的新手。 关于示例和ExampleMatcherAPI,我有两个问题 有没有什么方法可以忽略所有路径,除了我设置了匹配器的一些路径。或者,如果示例对象的路径具有null值,是否有任何方法可以忽略所有路径。设置所有路径名非常烦人,如下所示: ExampleMatcher matcher=ExampleMatcher.matching().ignorePath(“字段a”、“字段b”) 如何使用示例匹配联接列。例如产品实体的用户实体字段为@ManyToOne关系。用户实体有几个字段,

我是春天少年警讯的新手。 关于示例和ExampleMatcherAPI,我有两个问题

  • 有没有什么方法可以忽略所有路径,除了我设置了匹配器的一些路径。或者,如果示例对象的路径具有
    null
    值,是否有任何方法可以忽略所有路径。设置所有路径名非常烦人,如下所示:
  • ExampleMatcher matcher=ExampleMatcher.matching().ignorePath(“字段a”、“字段b”)

  • 如何使用示例匹配联接列。例如产品实体的用户实体字段为
    @ManyToOne
    关系。用户实体有几个字段,但我的示例对象的用户字段中只填充了userId字段。在本例中,我希望查找产品数据,该产品数据具有与产品示例对象中包含的用户对象中包含的userId字段值相匹配的
    user\u id
    外键列
  • 对不起,英语不好。。。实际上,这是我在堆栈溢出时的第一个问题。 谢谢你的关注。 我期待着伟大的答案

    Spring数据默认情况下将忽略属性中的空值。因此,不需要忽略空值的路径。我们还可以使用matcher上的
    withIgnoreNullValues()
    ()方法调用来显式地告诉它忽略空值

    注意,如果未设置基元值(int、double等),则仍将使用基元值,因为基元值不能为null,而是使用默认值,因此如果未用于匹配,则应忽略基元属性。


    对于第二个问题,您可以执行以下操作

    Product product = new Product();
    User user = new User();
    user.setId(5); // Id to be matched
    product.setUser(user); // Associate User object with Product        
    Example<Product> example = Example.of(product,matcher);
    
    产品产品=新产品();
    用户=新用户();
    user.setId(5);//要匹配的Id
    product.setUser(用户);//将用户对象与产品关联
    示例=示例(产品、匹配器);