首页 > 解决方案 > 如何在 MySql/Jpa 上的多对多关系中找到包含(另一个实体的)id 列表的实体?

问题描述

我有 3 张桌子:

我需要找到包含提供的成分列表的所有食谱。

埃斯:

我提供了一个成分列表,例如 111(盐)、222(胡椒)、333(油),我需要找到所有包含这些成分的食谱。查询应该返回所有包含这些成分的食谱。

我还需要一种将查询报告回 Jpa 的方法。

提前致谢!

标签: mysqlsqlspring-bootjpamany-to-many

解决方案


SELECT fk_recipe
FROM Recipes_Ingredients
WHERE fk_ingredient IN (111,222,333)
GROUP BY fk_recipe
HAVING COUNT(DISTINCT fk_ingredient) = 3

加入RecipesIngredients如果需要。


推荐阅读