Playframework 具有EXISTS和关系的SQL查询的JPQL等价物
我正在使用Play Framwork 1.2.4 我创建了3个具有关系的模型类: 标题行-1>线型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
@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();