我有一个带有set:
的hibernate托管POJOpublic 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;
}
如何根据页码编写HQL查询?例如,返回pageNumber大于100的所有图书?
以下不起作用:
from Book where pages.pageNumber > 100
答案 0 :(得分:0)
使用join
:
select distinct b from Book b join b.pages p where p.pageNumber > 100
如果没有distinct
,则会为满足条件的每个页面返回单独的Book
实例。
另见:
答案 1 :(得分:0)
使用隐式连接
来自Book b,其中b.pages.pageNumber&gt; 100
这个更容易