• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何限制实体取出由SQL查询

sql 来源:Max 7次浏览
SQLQuery query = session.createSQLQuery("select {o.id} from order o " + 
     "LEFT JOIN bookings b ON b.id = o.bookingId " + 
); 
List pusList = query.addEntity(Order.class) 
     .list(); 

,为了I类有:如何限制实体取出由SQL查询

@OneToOne(cascade = CascadeType.ALL, mappedBy = "order", fetch = FetchType.LAZY) 
private Trip trip; 

,但在执行过程中,我看到: 拳头,主SQL。和许多许多这样的查询: 休眠:/ *负载旅行* /选择……

如何拒绝提取旅行?

更新: 旅行在这种情况下是无用的。更好的是不要取它。


===========解决方案如下:

您正在提取懒惰这意味着主要将被加载,然后每次旅行,因为它是必需的。

一般见Hibernate performance documents看看能做些什么。

由于这是一对一的映射,我会将获取更改为fetch = FetchType.JOIN。这将与main同时加载行程,而不会向数据库添加更多行程。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)