2012-08-03 55 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

相关问题