android - ORMLite 加入查询和排序依据

标签 android ormlite

我想在两个表中进行连接并获取两个表中的所有列,我这样做了:

QueryBuilder<A, Integer> aQb = aDao.queryBuilder();
QueryBuilder<B, Integer> bQb = bDao.queryBuilder();
aQb.join(bQb).prepare();

这相当于:

SELECT 'A'.* FROM A INNER JOIN B WHERE A.id = B.id;

但是我想要:

SELECT * FROM A INNER JOIN B WHERE A.id = B.id;

另一个问题是按 B 的字段排序时,例如:

aQb.orderBy(B.COLUMN, true);

我收到一条错误消息“没有表格 B 列”。

最佳答案

当您使用 QueryBuilder 时,它期望返回 B 对象。它们不能包含 BA 的所有字段。如果那是你的意思,它不会充实外国子领域。该功能尚未跨越 ORMLitelite 障碍.

也不支持对连接表进行排序。您当然可以添加 bQb.orderBy(B.COLUMN, true),但我认为这不会满足您的要求。

你当然可以使用 raw-queries为此,虽然它不是最佳的。

关于android - ORMLite 加入查询和排序依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14166046/

相关文章:

java - Android Studio 中的空指针

java - 不使用基本 Activity 的 Ormlite 设置

android - 将子 Sprite 附加到动画 Sprite 和引擎

android - ActionBarSherlock ShareActionProvider 问题

android - 如何在 Android 中的两个 Activity 之间传递数据?

android - ListActivity ormlite 问题?

java - Android SDK r18 似乎破坏了 ORMLite

java - 带有 Ormlite 和 JavaFX 的嵌入式 Sqlite 数据库 : error creating table

java - OrmLite 不会在 "where"上使用 "not equals"比较器和空列值带来结果

android - Gradle无法解决 ':app@debug/compileClasspath'的依赖项: