gpt4 book ai didi

java - Spring JPA 查询示例匹配一个空字段但忽略其他字段

转载 作者:行者123 更新时间:2023-12-01 19:14:53 24 4
gpt4 key购买 nike

使用JPA通过Example进行查询时,有没有办法指定一列而不是全部为空匹配?看来空匹配只能应用于所有列。

class Entity {
private Integer id;
private String name;
private Instant createdAt;
private Instant deletedAt;
// getters and setters
}

通过示例查询时,我想在示例中包含 deletedAt 实际上为 null 的情况,但忽略其他字段上的 null 匹配。在数据库中,created_at 列是TIMESTAMP WITHOUT TIME ZONE 列 (postgresql)

编辑: Spring data query where column is null 中提出的解决方案不适用,因为它们没有利用示例查询

最佳答案

您可以尝试使用 ExampleMatcher 来实现您想要的目标。具体ExampleMatcher.includeNullValues()和/或ExampleMatcher.withIgnorePaths("deletedAt")

尝试一个或两个:

ExampleMatcher exampleMatcher = ExampleMatcher.matchingAll()
.withIgnorePaths("deletedAt")
.withIncludeNullValues();
Example<Entity> ex = Example.of(obj, exampleMatcher);

关于java - Spring JPA 查询示例匹配一个空字段但忽略其他字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59429618/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com