ORMLite ora supporta simple JOIN
statements. Si può fare qualcosa di simile al seguente:
// 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();
Si noti, tuttavia, che si può ottenere solo le entità dal generatore di query utilizzando questo meccanismo. Se si desidera ottenere i due campi descrittivi da oggetti diversi, si dovrà comunque utilizzare una query non elaborata.
È disponibile il supporto per "query non elaborate" incluso il metodo Dao.queryRaw()
in cui è possibile utilizzare il proprio SQL. Sospetto che tu li abbia già trovati. Ecco lo docs for raw queries.
si prega di postare quale errore si sta ottenendo? –
Ho appena provato con puro sql, perché non riesco ancora a capirlo: come scrivere la query utilizzando ormlite omlite. Ho solo bisogno di un esempio. Qualsiasi esempio che coinvolge 3 tavoli. – Antonis
Si noti che stiamo aggiungendo il supporto JOIN di base in 4.42 @Antonis. Ho aggiornato la mia risposta. – Gray