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(); 
  • ORMLite para Android no autorefresh objeto extranjero utilizando foreignAutoRefresh
  • Importar android.os.CancellationSignal no se puede resolver ORMLite en Android
  • Android OrmLite base de datos pre-poblar
  • Proguard con OrmLite en Android
  • Jackson no puede deserializar a una ForeignCollection (Ormlite)
  • Android, Ormlite, ubicación de DB
  • Cómo eliminar un registro de ORMLITE?
  • Miles de insertos crudos de ORMLite que tardan varios minutos en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.