Spring 有没有可能忽略JPA示例匹配器的所有路径
我是春天少年警讯的新手。 关于示例和ExampleMatcherAPI,我有两个问题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关系。用户实体有几个字段,
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(用户);//将用户对象与产品关联
示例=示例(产品、匹配器);