0
我有2个实体,Aluno和Matricula。我想要返回没有Matricula的所有Aluno。为此,我尝试使用JPQL的IS NULL,但仍然无法完成这项工作。在JPQL中使用IS NULL?
我该怎么做?
我正在试着这个。
@Entity
public class Aluno{
@Id @GenerateValue
private Long id;
@OneToOne
private Matricula matricula
}
@Entity
public class Matricula{
@Id @GenerateValue
private Long id;
@OneToOne
private Aluno aluno;
}
//
public List<Aluno> getAlunosWithoutMatricula(){
String jpql = "SELECT a FROM Aluno a JOIN a.matricula mat WHERE mat IS NULL";
TypedQuery<Aluno> query = em.createQuery(jpql, Aluno.class);
return query.getResultList();
}
您的问题正在使用中加入。当你使用join时,这意味着你使用inner join。为了解决这个问题,你可以使用左连接而不是连接。 – 2014-09-21 11:39:14