Cómo generar una consulta con la selección por valor del campo del objeto extraño

¿Cuál es la mejor manera de consultar usando el valor del campo del objeto extraño?

Supongamos que tengo estas tres clases.

UnitResult 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 de unidades que describe ciertas Unidades en un mercado (por ejemplo, jiuce, snack, 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 Enum of Tipo de la unidad:

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

Entonces, ¿cómo puedo consultar todos los UnitResult donde el tipo de Unit es UnitType.JUICES ?

One Solution collect form web for “Cómo generar una consulta con la selección por valor del campo del objeto extraño”

Entonces, ¿cómo puedo consultar todos los UnitResult donde el tipo de unidad es UnitType.JUICES?

La forma de hacerlo en ORMLite es usar el `Where.in (…) con una sub-consulta :

 // setup our sub-query on the Unit table first QueryBuilder<Unit,Integer> uQb = unitDao.queryBuilder(); uQb.where().eq(Unit.TYPE_FIELD_NAME, UnitType.JUICES); // outer query on UnitResult table QueryBuilder<UnitResult,Integer> urQb = unitResultDao.queryBuilder(); // in using the sub-query urQb.where().in(UnitResult.UNIT_COLUMN_NAME, uQb); List<UnitResult> results = urQb.query(); 
  • Persistencia de una clase Collection con ORMLite en android
  • ORMLite - Consulta de campo externo
  • ¿Cómo puedo mantener mi base de datos en una tarjeta SD y utilizar ORMLite?
  • Android: niveles de aislamiento de transacciones SQLite (ORMLite)
  • Creación de restricciones de clave externa en ORMLite en SQLite
  • ORMLite con CursorAdapter en Android
  • ORMLite Seleccionar campos distintos
  • ORMLite para Android no autorefresh objeto extranjero utilizando foreignAutoRefresh
  • Agregar, quitar objetos de una colección extranjera
  • Persistente de datos personalizados ORMLite con varias columnas
  • Relación uno-a-muchos en ORMLite Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.