Я нашел обходной путь. Но это повлияет на производительность, я полагаю.
Вам необходимо добавить специальный метод получения в поле отношения, которое будет фильтровать результаты с другими частями составного первичного ключа.
В вашем случае это будет выглядеть так:
public class FoodWithIngredients {
@Embedded
private Food food;
@Relation(parentColumn = "id", entityColumn = "food_id", entity =
Ingredient.class)
private List<Ingredient> mIngredients;
public List<Ingredient> getIngredients() {
List<Ingredient> result = List<Ingredient>();
for (ingredient in mIngredients) {
if (ingredient.foodLanguageId == food.languageId) {
result.add(ingredient);
}
}
return result;
}
}