我想使用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 必须有一个 另一个国外领域。否则将抛出异常。
但Order
和MyTmpTable
都没有外键定义。 MyTmpTable定义如下:
@DatabaseTable
class MyTmpTable {
...
@DatabaseField
private Long longId;
...
}
我真的无法改变它
@DatabaseTable
class MyTmpTable {
...
@DatabaseField(foreign = true)
private Order order;
...
}
因为它用作通用临时连接表。
像joinOn(...)
之类的东西可以解决我的问题,但它可能在ORMLite中不可用。
您有什么想法我如何加入2个没有定义外来属性的表?