考虑以下对象结构。
Product
id : int
name : string
attribute : list of Attribute
Attribute
id : int
name: string
value : string
product_id : int
问题是:使用 QueryOver 如何形成子查询以返回具有以下条件的所有产品:
选择同时具有属性的所有产品:
属性名称=“颜色”值=“红色”和属性名称=“大小”值=“XXL”?
编辑:示例 sql:
select * from Product p where
exists (select id from attribute where name = 'Color' and value = 'Red' and product_id = p.id)
and
exists (select id from attribute where name = 'Size' and value = 'XXL' and product_id = p.id)