具有列别名的会议室查询返回null

时间:2018-06-20 13:56:48

标签: android android-room android-architecture-components

我一直在为此苦苦挣扎,但没有找到解决方案。

假设我有这个示例实体:

@Entity (tableName="test")
public class Test{

    @PrimaryKey(autoGenerate = true)
    @ColumnInfo(name = "id")
    private long id;

    @ColumnInfo(name = "field1")
    @NonNull
    private double field1;

    @Ignore
    @ColumnInfo(name = "queryField")
    private transient String queryField;

}

因此,基本上我的表具有idfield1,而queryField不是列表,但它在屏幕上用于显示其他表的更多详细信息。

然后在我的DAO中

...
    @Query("Select a.id, a.field1, b.column as queryField
            "from test a inner join some_table on..." +
            "where a.id=:someId" +
            "order by i.name ASC")
    LiveData<List<Test>> get(long someId);
....

这样运行某事,并且查询结果包含test.id和test.field1信息时,它不会填充queryField属性,该属性保持为空。

@Entity不允许这种查询吗?我是否需要生成另一个类来添加新列?我想在项目中混合实体和Pojos,以使事情变得简单。

0 个答案:

没有答案