2

我想做这样的事情:

    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' 属性”。

4

1 回答 1

3

是的,你不能像这样组合 where 语句。您应该执行以下操作:

whereA = qbA.where();
whereA.eq(A.a, x);
whereB = qbB.where();
whereB.eq(B.b, y);
join = qbA.join(qbB);

ORMLite应该负责将 2 个不同的语句AND放在一起。WHERE

于 2013-01-18T17:42:26.207 回答