Spring 限制左连接休眠
我有一个名为ServiceList的实体,它有一组productListOrdersSpring 限制左连接休眠,spring,hibernate,playframework,ejb-3.0,ejb-3.1,Spring,Hibernate,Playframework,Ejb 3.0,Ejb 3.1,我有一个名为ServiceList的实体,它有一组productListOrders @Entity @Table(name="service_lists") public class ServiceList implements Serializable { private static final long serialVersionUID = 1L; private Set<ProductServiceListOrder> productServiceListOr
@Entity
@Table(name="service_lists")
public class ServiceList implements Serializable {
private static final long serialVersionUID = 1L;
private Set<ProductServiceListOrder> productServiceListOrders = new HashSet<ProductServiceListOrder>();
}
ProductServiceListOrder looks like this
public class ProductServiceListOrder implements Serializable {
private static final long serialVersionUID = 1L;
private ServiceList serviceList;
private Product product;
private Date createdAt;
private Long id;
private Integer internalOrder;
}
@实体
@表(name=“服务列表”)
公共类ServiceList实现了可序列化{
私有静态最终长serialVersionUID=1L;
私有集productServiceListOrders=新HashSet();
}
ProductServiceListOrder看起来像这样
公共类ProductServiceListOrder实现可序列化{
私有静态最终长serialVersionUID=1L;
私人服务列表服务列表;
私人产品;
私人日期创建日期;
私人长id;
私有整数顺序;
}
诀窍是按照最高的internalOrder值首先显示的internalOrder顺序。。
当我进行hibernate查询时,我喜欢这样
{
List<ServiceList> lists = (List<ServiceList>) JPA.em().createQuery(
"select distinct list from com.vionlabs.movieoncloud.model.main.ServiceList list " +
"left join fetch list.productServiceListOrders " )
}
{
List List=(List)JPA.em().createQuery(
“从com.vionlabs.movieoncloud.model.main.ServiceList列表中选择不同的列表”+
“left join fetch list.productServiceListOrders”)
}
我的问题是:-我想在左连接上设置一个限制,这意味着当我进行查询时,我只想得到最高的10个ProductSerivleStorders。。。我怎样才能做到这一点。。。。有什么建议吗 在
entityManager
的createQuery
方法返回的Query
对象上,您可以使用方法setMaxResult
并将其与查询中的order by一起使用