Мне нужна помощь с запросом JDO.
У меня есть следующие сущности:
рецепт:
@PersistenceCapable
class Recipe{
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long key;
...
@Persistent(mappedBy = "recipe")
private List<RecipeIngredient> ingredients
}
recipeIngredient:
@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable="true")
class RecipeIngredient implements Serializable {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
Integer amount
@Persistent
Key unit
@Persistent
Key ingredient
@Persistent
Recipe recipe
ингредиент:
@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable="true")
class Ingredient implements Serializable {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
String name
Рецепт может иметь несколько ингредиентов рецепта, в которых содержится фактический ингредиент, количество ингредиента и единица измерения.
Я бы хотел получить все рецепты по ингредиентам, которые содержат только указанные ингредиенты и не более.
На данный момент я делаю это:
- получить все объекты ингредиента по названию ингредиента
- получить все объекты recipeIngredient по ключу ингредиента
- получить все рецепты по recipeIngredient
- проверить, есть ли все ингредиенты рецепта из рецепта в списке ингредиентов рецепта до
- если это так, добавить рецепт в список вывода
Могу ли я сделать это с помощью запроса? может быть, что-то похожее на наличие?