Как построить запрос с выборкой по значению поля постороннего объекта

Каков наилучший способ запроса с использованием значения поля стороннего объекта?

Предположим, у меня есть эти три класса.

Класс UnitResult, описывающий количество единиц:

@DatabaseTable
public class UnitResult {
    public static final String ID_FIELD_NAME = "id";
    public static final String UNIT_COLUMN_NAME = "unit";
    public static final String RESULT_COLUMN_NAME = "result";

    @DatabaseField(generatedId = true, columnName = ID_FIELD_NAME)
    public Integer id;

    @DatabaseField(foreign = true, canBeNull = false, columnName = UNIT_COLUMN_NAME)
    public Unit unit;

    @DatabaseField(canBeNull = true, columnName = RESULT_COLUMN_NAME)
    public Integer result = null;
}

Класс единиц, описывающий определенные единицы на рынке (например, соки, закуски и т. д.):

@DatabaseTable
public class Unit {
    public static final String ID_FIELD_NAME = "id";
    public static final String TYPE_FIELD_NAME = "type";

    @DatabaseField(id = true, columnName = ID_FIELD_NAME)
    public int id;

    @DatabaseField(canBeNull = false, columnName = TYPE_FIELD_NAME)
    public UnitType type;
}

И перечисление типов единиц:

public enum UnitType {
    JUICES,
    DRINKS,
    SNACKS,
    NPD;
}

Итак, как я могу запросить all UnitResult, где Unittype is UnitType.JUICES?

5
задан Gray 12 March 2014 в 21:29
поделиться