如何使用ORMLite生成JOIN ON查询

时间:2013-10-17 12:14:54

标签: ormlite jointable

我想使用ORMLite加入2个表,而表之间没有ORMLite's foreign key定义。

为了更好地解释我的问题,我希望ORMLite生成的查询应如下所示:

SELECT Order.ID
FROM Order
JOIN MyTmpTable
ON Order.CustomerID=MyTmpTable.CustomerID;

不幸的是,ORMLite中提供的join(...)方法需要在表之间进行明确的foreign key定义。

  

加入另一个查询构建器。这将添加到SQL中   接近“INNER JOIN other-table ...”。对象关联   使用当前的QueryBuilder或参数QueryBuilder 必须有一个   另一个国外领域。否则将抛出异常。

OrderMyTmpTable都没有外键定义。 MyTmpTable定义如下:

@DatabaseTable
class MyTmpTable {
    ...
    @DatabaseField
    private Long longId;
    ...
}

我真的无法改变它

@DatabaseTable
class MyTmpTable {
    ...
    @DatabaseField(foreign = true)
    private Order order;
    ...
}

因为它用作通用临时连接表。

joinOn(...)之类的东西可以解决我的问题,但它可能在ORMLite中不可用。

您有什么想法我如何加入2个没有定义外来属性的表?

0 个答案:

没有答案