Hibernate 基于集合内容的HQL查询

Hibernate 基于集合内容的HQL查询,hibernate,hql,Hibernate,Hql,我有一个hibernate管理的POJO,带有一组: public class Book { private Set<Page> pages; public Set<Page> getPages() { return pages; } public void setPages(Set<Page> pages) { this.pages = pages; } } public class Page { private int pa

我有一个hibernate管理的POJO,带有一组:

public class Book {
    private Set<Page> pages;
    public Set<Page> getPages() { return pages; }
    public void setPages(Set<Page> pages) { this.pages = pages; }
}
public class Page {
    private int pageNumber;
    public int getPageNumber() { return pageNumber; }
    public void setPageNumber(int pageNumber) { this.pageNumber = pageNumber;
}
使用
加入

select distinct b from Book b join b.pages p where p.pageNumber > 100
如果没有
distinct
,它将为满足条件的每个页面返回一个单独的
Book
实例

另请参见:

  • 使用隐式联接

    从b册开始,其中b.pages.pageNumber> 一百


    就我所记得的,这一个更容易

    ,它对集合值属性不起作用。您尝试过axtavt吗?它曾经对我有用。如果不告诉我更新我的知识,试试看。
    select distinct b from Book b join b.pages p where p.pageNumber > 100