【问题标题】:Java android room get java objects from two tablesJava android room从两个表中获取java对象
【发布时间】:2019-06-14 07:49:00
【问题描述】:

我有两个表,我想获取一个 Java 对象。

这是我的第一张桌子:

@PrimaryKey(autoGenerate = false)
@ColumnInfo(name = "id")
long id;
@ColumnInfo(name = "date")
String date;
@ColumnInfo(name = "azimuth")
int azimuth;

这是我的第二张桌子:

   @PrimaryKey(autoGenerate = false)
    @ColumnInfo(name = "id")
    long id;
    @ColumnInfo(name = "name")
    String name;
    @ColumnInfo(name = "symbol")
    String symbol;
    @ColumnInfo(name = "type")
    String type;

表一的id和表三的id是一样的

我想查询我有此类的查询:

long id;
String date;
int azimuth;
String name;
String symbol;
String type;

【问题讨论】:

  • 你能澄清一下这个问题吗,你想做什么?
  • @user8468173 我必须加入表格,我想将它加入到 table1.id = table2.id 之类的表格中
  • 您可以使用查询连接2个表

标签: java android android-room


【解决方案1】:

首先,创建一个数据类,比如ResultTable,其中包含您想要的字段:

public class ResultTable{
    long id;
    String date;
    int azimuth;
    String name;
    String symbol;
    String type;
}

现在您可以从两个表中查询数据并将结果放入上表中,如下所示;

@Query("SELECT id, t1.date as date, t1.azimuth as azimuth, t2.name as name, t2.symbol as symbol, t2.type as type FROM tabel1 t1, table2 t2 WHERE t1.id = t2.id AND t1.id = :id")
List<ResultTable> performJoinQuery(long id)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-09
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多