2011-09-04 12 views
13
私は例えば、この1のように3つのテーブルの上に内部結合を作成したい

に参加しますか?事前Ormlite内部には3つのテーブル

+0

エラーが表示されていますか? –

+0

純粋なSQLで試したところ、ormlite ormliteを使用してクエリを書く方法はまだわかりません。私は例が必要です。 3つのテーブルを含むすべての例。 – Antonis

+1

4.42 @Antonisに基本的なJOINサポートを追加しています。私は私の答えを更新しました。 – Gray

答えて

34

ORMLite

おかげで今simple JOIN statementsをサポートしています。

// 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(); 

ただし、このメカニズムを使用してクエリビルダからエンティティを取得できることに注意してください。異なるオブジェクトから2つの説明フィールドを取得する場合は、未処理のクエリを使用する必要があります。

独自のSQLを使用できるDao.queryRaw()メソッドを含む「生のクエリ」がサポートされています。私はあなたがすでにそれらを見つけたと思う。ここにはdocs for raw queriesがあります。

+0

ありがとうグレイ!ところで、ORMLiteに感謝します! – Antonis

+0

OKこれは素晴らしいニュースです! – Antonis

+0

http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite_3.html#index-select-arguments – LuminiousAndroid

関連する問題