ORMLite ahora es compatible con simple JOIN
statements. Usted puede hacer algo como lo siguiente:
// start the order header query
QueryBuilder<OrderHeader, Integer> orderHeaderQb = orderHeaderDao.queryBuilder();
QueryBuilder<Customer, Integer> customerQb = customerDao.queryBuilder();
// join with the order query
orderHeaderQb.join(customerQb);
// start the order statement query
QueryBuilder<OrderStatement, Integer> orderStatementQb =
orderStatementDao.queryBuilder();
orderStatementQb.where().gt("mixedvalue", 100);
// join with the order-header query
orderStatementQb.join(orderHeaderQb);
List<OrderStatement> orderStatementQb.query();
Nótese, sin embargo, que sólo se puede obtener entidades del generador de consultas mediante este mecanismo. Si desea obtener sus dos campos de descripción de diferentes objetos, deberá utilizar una consulta en bruto.
Hay soporte para "consultas sin procesar", incluido el método Dao.queryRaw()
donde puede usar su propio SQL. Sospecho que ya los encontraste. Aquí están los docs for raw queries.
publique el error que está recibiendo? –
Acabo de probar con sql puro, porque todavía no lo entiendo, cómo escribir la consulta usando ormlite o el nombre del sitio. Solo necesito un ejemplo. Cualquier ejemplo que involucre 3 tablas. – Antonis
Tenga en cuenta que estamos agregando compatibilidad básica JOIN en 4.42 @Antonis. He actualizado mi respuesta. – Gray