集合对象上的Hibernate HQL构造函数表达式

集合对象上的Hibernate HQL构造函数表达式,hibernate,jpa,constructor,expression,hql,Hibernate,Jpa,Constructor,Expression,Hql,我有以下几点 Order { Date date, String title, List<Item> items } Item { String name, String qty, ... [other non-related information] } 我的问题是,我是否可以将构造函数表达式放在“Item”上以仅获取(名称和数量) 没有。但是,您可以使用只加载您感兴趣的Items中的字段 请注意: 您需要确保启用了实体增强功能(否则基本属性仍

我有以下几点

Order {
  Date date, 
  String title, 
  List<Item> items
}

Item {
  String name, 
  String qty, 
  ... [other non-related information]
}

我的问题是,我是否可以将构造函数表达式放在“Item”上以仅获取(名称和数量)

没有。但是,您可以使用只加载您感兴趣的
Item
s中的字段

请注意:

  • 您需要确保启用了实体增强功能(否则基本属性仍将被急切地加载)
  • 您的应用程序可能不会尝试访问除
    id
    name
    qty
    之外的任何
    项目
    属性,或者hibernate可能会尝试初始化其余实体属性(将发出db查询或引发
    LazyInitializationException
    ,具体取决于实体状态)。这包括应用程序中“不太明显”的部分,如JSON序列化库
SELECT order 
FROM Orders order 
  LEFT JOIN FETCH oder.items 
WHERE item.qty > 2