2012-08-03 84 views
0

所以我想知道如果可以選擇,包括與其他表(對象),有點像其他引用的表的每一行:如何ormlite選擇與所有相關對象(表)中的所有行

class A{ 
    @DatabaseField 
    int somethingA; 
    @DatabaseField 
    String someStringA; 

    @DatabaseField(canBeNull = false, foreign=true, foreignAutoRefresh=true) 
    >> B instanceB; 

    @ForeignCollectionField 
    >> Collection<C> lotsOfCs; 
} 

class B{ 
    @DatabaseField 
    int somethingb; 
    @DatabaseField 
    String someStringB; 
} 

Classe C{ 
    @DatabaseField 
    int somethingC; 
    @DatabaseField 
    String someStringC; 

    @DatabaseField(foreign=true, foreignAutoRefresh=true) 
    >> A instanceA; 
} 

那麼如何選擇包括B和C對象的表/類A的所有行,我是否需要手動獲取B和C?

問候,

+0

嗨!格雷,你編輯過什麼嗎? – Maxrunner 2012-08-07 09:22:44

+0

如果你想讓我看到一些東西,一定要使用@Gray,而不僅僅是灰色。這通知我的評論。我重新格式化了這些類。 – Gray 2012-08-27 14:25:18

回答

1

不幸的是,ORMLite不使用的JOIN時,它得到的對象從數據庫中,所以沒有辦法用一個查詢來獲取多個表的結果。

我需要手動獲取B和C嗎?

是的,雖然你必須有ORMLite做脫穎而出你們在不同的查詢選項。使用foreignAutoRefresh = true時,ORMLite將執行輔助查詢,以在您獲得A時自動刷新instanceB字段。如果將eager = true添加到lotsOfCs外來收集中,那麼該查詢在創建A之前也會關閉。

+0

謝謝格雷,是不是有一個按鈕來自動添加@和用戶名? – Maxrunner 2012-10-18 10:52:36

+0

你的意思是在Stackoverflow?我只是從@Ma開始,然後按Tab鍵,它就完成了。 – Gray 2012-10-18 12:20:11

+0

如果我按下tab鍵,它將退出文本字段中的光標....:P。無論如何,現在我知道用戶通過「@」用戶名代碼獲得消息通知。謝謝:) – Maxrunner 2012-10-18 14:37:23

相關問題