gpt4 book ai didi

mysql - Hibernate 多重连接

转载 作者:行者123 更新时间:2023-11-30 00:25:22 25 4
gpt4 key购买 nike

在 HQL 中获取产品时我有点困惑。产品有多个 SKU,并且 SKU 有多种可用性。下面是我的 hql 查询。

select distinct p from Product p 
join p.skus sku
join sku.availibility a
where sku.skuType = "DEFAULT" AND a.available = true && a.day = 5;

我必须过滤 skuType 为“DEFAULT”的产品以及仅该 sku(“DEFAULT”类型)的可用性。
我很困惑,因为..我想在上面的查询中可用,a.day 部分将检查所有 sku 而不仅仅是默认 sku..
这个查询的行为如何?我错了吗 ?如果是,那么如何为此构造查询?

谢谢,安基特

最佳答案

不会,您的查询只会返回一组产品 P,其中 P 中的每个 e 都与以下内容匹配:

  1. e 有一个 SKU,其中包含 skuType="DEFAULT" AND
  2. eSKUskuType="DEFAULT" 并且该 SKU 具有可用性a WHERE a.available = true && a.day = 5

您的评论

I am thinking in above query available and a.day part will check in all the skus not just the default sku..

是的,查询执行将循环遍历您的CROSS JOIN集,但它会仅返回符合上面给出的条件的产品。

关于mysql - Hibernate 多重连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22933716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com