¿Cuál es la mejor forma de consultar mediante el uso del valor del campo del objeto extraño?Cómo generar una consulta con la selección por valor del campo del objeto extraño
Supongamos que tengo estas tres clases.
claseUnitResult que describe la cantidad de unidades:
@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;
}
clase
Unidad que describe ciertas unidades en un mercado (por ejemplo jiuce, merienda, etc.):
@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;
}
Y Enumeración del tipo de unidad :
public enum UnitType {
JUICES,
DRINKS,
SNACKS,
NPD;
}
Entonces, ¿cómo es posible consultar todos los que UnitResult
donde Unit
tipo es UnitType.JUICES
?
Muchas gracias, gris! ¡Y respeto por la biblioteca de OrmLite! :) – Yarovoy
Esto ya no parece funcionar. Debido a que la columna de Id. Se agrega automágicamente a la consulta, arroja "SQLException, la consulta interna debe tener solo 1 columna de selección especificada en lugar de *". –
Seguimiento: creo que la intención es que ahora uses un join. –