Playframework 具有EXISTS和关系的SQL查询的JPQL等价物

Playframework 具有EXISTS和关系的SQL查询的JPQL等价物,playframework,jpql,Playframework,Jpql,我正在使用Play Framwork 1.2.4 我创建了3个具有关系的模型类: 标题行-1>线型 @Entity public class Header extends Model { @OneToMany(mappedBy="header" , cascade=CascadeType.ALL) public List<Line> lines; ... } @Entity public class Line extends Model{ @ManyToOn

我正在使用Play Framwork 1.2.4

我创建了3个具有关系的模型类:

标题行-1>线型

@Entity
public class Header extends Model {
   @OneToMany(mappedBy="header" , cascade=CascadeType.ALL)
   public List<Line> lines;
   ...
}

@Entity
public class Line extends Model{
   @ManyToOne
   public Header header ;

  @ManyToOne
   publicLineType lineType;
   ...
}

@Entity
public class LineType extends Model {

   public Integer code ;
   ...
}

我回答我自己的问题:

Query query = JPA.em().createQuery("select header from Header as header where exists(select line from Line line JOIN ligne.lineType as type where ligne.header=header and type.code='X')");
List<Header> headers = query.getResultList();
内部联接:


存在:

我没有尝试,因为在我使用JpqlSelect编写查询之前,它似乎非常有限:
Query query = JPA.em().createQuery("select header from Header as header where exists(select line from Line line JOIN ligne.lineType as type where ligne.header=header and type.code='X')");
List<Header> headers = query.getResultList();