我想做这样的事情:
Select * from A join B where (A.a=x and B.b=y);
我试过了:
qbA = aDao.queryBuilder();
qbB = bDao.queryBuilder();
whereA = qbA.where();
whereB = qbB.where();
join = qbA.join(qbB);
whereJ = join.where();
whereJ.and(whereA.eq(A.a, x), whereB.eq(B.b, y));
它给了我编译错误。我也尝试过只使用连接的地方:
whereJ.and(whereJ.eq(A.a=x), whereJ.eq(B.b=y));
我遇到了运行时错误:“A没有'b'属性”。
答案 0 :(得分:3)
是的,你不能把那样的陈述合并在一起。您应该执行以下操作:
whereA = qbA.where();
whereA.eq(A.a, x);
whereB = qbB.where();
whereB.eq(B.b, y);
join = qbA.join(qbB);
ORMLite应该注意执行AND
并将2个不同的WHERE
语句放在一起。