【问题标题】:Select multiple columns from two tables using greendao使用greendao从两个表中选择多个列
【发布时间】:2014-10-08 06:19:49
【问题描述】:

我有两个表 A 和 B,我想使用 greendao 编写以下查询。

select a.*, b.* from A a, B b where a.a_id=b.a_id;

到目前为止我已经取得了:

Adao.queryRawCreate(" , B b where T.a_id=b.a_id");

但这只会返回来自 A 的行。我需要来自 A 和 B 的列。 如何使用 greendao 实现这一目标?

【问题讨论】:

  • 你想要什么样的加入?交叉连接,内,左?
  • @BoratSagdiyev,示例查询是内连接。
  • @BoratSagdiyev 这是一个内部连接。

标签: android sql sqlite android-sqlite greendao


【解决方案1】:

Greendao 还不支持连接。

即使它会:greendao 是一个 ORM 框架。这意味着它将您的表格行映射到对象。使用 ORM 框架,您通常使用 toMany 和 toOne 关系从一个对象遍历到另一个对象,并且您不需要将多行映射到一个对象。

对于您的问题,这意味着您应该获得所需的 A 实体。

如果您需要相应的 B 实体,您可以通过 A 访问它们。为此,您必须指定 A 和 B 之间的 toMany 或 toOne 关系(取决于您的数据模型)。​​

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    相关资源
    最近更新 更多