gpt4 book ai didi

java - Spring Boot JPA 查询使用 isempty 和 isnull 关键字

转载 作者:行者123 更新时间:2023-11-30 06:03:54 25 4
gpt4 key购买 nike

我正在使用 spring boot 版本 2.0.3.RELEASE 和 spring data jpa 版本 2.0.8.RELEASE。我有两个表TableA,TableB,它们是一对一映射的。

表A

@Entity
@Table(name = "table_a")
public class TableA {

@Id
@Column(name = "id")
private Long id;

@OneToOne(mappedBy = "table_b", cascade = CascadeType.ALL)
private TableB tableB;
}

表B

@Entity
@Table(name = "table_b")
public class TableB {

@Id
@Column(name = "id")
private Long id;

@OneToOne
@JoinColumn(name = "id")
private TableA tableA;
}

当 Mapped TableB 不存在时,我需要获取 TableA 值。我在 TableA Jpa 存储库中编写了以下查询。

@Query(value = "select a from TableA a where a.tableB is null and a.id=?1")
TableA findTableAValues(Long id);

但它没有给出预期的结果。如果我将 is null 替换为 isempty 关键字,则查询会给出预期结果。请问谁能解释一下为什么会发生这种事情?

最佳答案

IS EMPTY 运算符在逻辑上与 IS NULL 等效,但适用于集合。

您可以访问此链接了解更多详细信息和示例 http://www.java2s.com/Tutorials/Java/JPA/4070__JPA_Query_Is_Empty.htm

关于java - Spring Boot JPA 查询使用 isempty 和 isnull 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51739780/

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