我有两张桌子T1和T2。

我必须从表T1中获取anotherColumn在T2中为null或在T2中不存在的记录。
表T1与T2的实体关系
@OneToMany(mappedBy="t2")
private List<T2> t2s;表T2与T1的实体关系
@ManyToOne
@JoinColumn(name="pId")
private T1 t1;在上面的场景中,它应该返回表T1中的第二条和第三条记录。
@Query("select t1 from T1 t1 where NOT EXISTS (select t2 from T2 t2 where t1.id = t2.pId) OR EXISTS (select t2 from T2 t2 where t1.id = t2.pId OR t2.anotherColumn=null)")
public List<T2> findDisconnected(); 因为我使用的是内部子查询,所以需要更多的时间。
Could please someone helps me,
1) How can I optimize the above query?
2) What is the best way to use join queries in Spring-data-jpa?发布于 2018-01-24 15:27:52
这就是你要找的吗?
select * from T1 t1 full join T2 t2 on t1.id = t2.pId where t2.anotherColumn is NULL在这里,您完全连接了两个表,并获取了另一列中具有空值的所有记录。
https://stackoverflow.com/questions/48416672
复制相似问题