在JPQL中使用IS NULL?

时间:2014-09-20 18:53:29

标签: eclipse jpa jpql

我有2个实体,Aluno和Matricula。我希望在没有Matricula的情况下返回所有Aluno。为此,我尝试使用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();
}

1 个答案:

答案 0 :(得分:1)

我解决了问题

这里。

public List<Aluno> getAlunosWithoutMatricula(){
    String jpql = "SELECT a FROM Aluno a WHERE (a.matricula IS NULL)";
        TypedQuery<Aluno> query = em.createQuery(jpql, Aluno.class);
        return query.getResultList();
}