其他分享
首页 > 其他分享> > 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对象.它们不能包含B中A中的所有字段.如果这是您的意思,则不会充实外国子字段.该功能尚未突破ORMLite的精简障碍.

还不支持在联接表上订购.您当然可以添加bQb.orderBy(B.COLUMN,true),但我认为这不会满足您的要求.

您当然可以使用raw-queries,尽管它不是最佳选择.

标签:ormlite,android
来源: https://codeday.me/bug/20191031/1975731.html