是否有任何可能的方法来忽略 JPA Example Matcher 的所有路径
Are there any possible ways to ignore all paths of JPA Example Matcher
我是 Spring JPA 的新手。
我有两个关于 Example 和 ExampleMatcher 的问题 API.
- 有什么方法可以忽略除我设置匹配器的某些路径之外的所有路径。或者,如果示例对象的路径具有
null
值,是否有任何方法可以忽略所有路径。像下面这样设置所有路径名是很烦人的:
ExampleMatcher<Product> matcher =ExampleMatcher.matching().ignorePaths("field_a", "field_b");
- 如何使用示例匹配连接的列。例如。产品实体具有用户实体字段作为
@ManyToOne
关系。用户实体有几个字段,但我的示例对象的用户字段只填充了 userId 字段。在这种情况下,我想查找具有 user_id
外键列与产品示例对象中包含的用户对象中包含的 userId 字段值匹配的产品数据。
抱歉英语不好...实际上这是我在 Stack Overflow 上的第一个问题。
感谢关注。
我期待着很好的答案。
Spring 数据 默认情况下 将忽略属性中的空值。所以你不需要忽略空值的路径。我们还可以在匹配器上使用 withIgnoreNullValues()
(docs) 方法调用来明确告诉它忽略空值。
注意原始值(int、double 等)如果未设置,仍将被使用,因为原始值不能有空值,而是使用默认值,因此如果不用于,您应该忽略原始属性匹配.
对于你的第二个问题,你可以做类似下面的事情
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);
我是 Spring JPA 的新手。 我有两个关于 Example 和 ExampleMatcher 的问题 API.
- 有什么方法可以忽略除我设置匹配器的某些路径之外的所有路径。或者,如果示例对象的路径具有
null
值,是否有任何方法可以忽略所有路径。像下面这样设置所有路径名是很烦人的:
ExampleMatcher<Product> matcher =ExampleMatcher.matching().ignorePaths("field_a", "field_b");
- 如何使用示例匹配连接的列。例如。产品实体具有用户实体字段作为
@ManyToOne
关系。用户实体有几个字段,但我的示例对象的用户字段只填充了 userId 字段。在这种情况下,我想查找具有user_id
外键列与产品示例对象中包含的用户对象中包含的 userId 字段值匹配的产品数据。
抱歉英语不好...实际上这是我在 Stack Overflow 上的第一个问题。 感谢关注。 我期待着很好的答案。
Spring 数据 默认情况下 将忽略属性中的空值。所以你不需要忽略空值的路径。我们还可以在匹配器上使用 withIgnoreNullValues()
(docs) 方法调用来明确告诉它忽略空值。
注意原始值(int、double 等)如果未设置,仍将被使用,因为原始值不能有空值,而是使用默认值,因此如果不用于,您应该忽略原始属性匹配.
对于你的第二个问题,你可以做类似下面的事情
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);