【问题标题】:Limiting left join hibernate限制左连接休眠
【发布时间】:2013-02-26 13:27:44
【问题描述】:

我有一个名为 ServiceList 的实体,它有一组 productListOrders

 @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;
}

诀窍是在 internalOrder 中,最高的 internalOder 值首先显示.. 当我做我的休眠查询时,我确实喜欢这样......

{
List<ServiceList> lists = (List<ServiceList>) JPA.em().createQuery(
                    "select  distinct list from com.vionlabs.movieoncloud.model.main.ServiceList list " +
                            "left join fetch list.productServiceListOrders "  )
}

我的问题是:- 我想对左连接设置一个限制,这意味着当我进行查询时我只想获得最高的 10 个 productSeriveListOrders ...我该怎么做.. .. 有什么建议么 ?

【问题讨论】:

    标签: spring hibernate playframework ejb-3.0 ejb-3.1


    【解决方案1】:

    entityManagercreateQuery 方法返回的Query 对象上,您可以使用setMaxResult 方法并将其与查询中的order by 结合使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-18
      • 2016-05-02
      • 2015-04-17
      • 2014-09-24
      • 2016-09-24
      • 1970-01-01
      • 2012-12-22
      • 1970-01-01
      相关资源
      最近更新 更多