我正在使用 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);
但它没有给出预期的结果。如果我更换为空与空关键字,查询给出了预期的结果。请任何人都可以解释为什么会发生这种事情?
相关分类