我想使用 ORMLite 加入 2 个表,而表之间没有ORMLite 的外键定义。
为了更好地解释我的问题,我希望 ORMLite 生成的查询应该如下所示:
SELECT Order.ID
FROM Order
JOIN MyTmpTable
ON Order.CustomerID=MyTmpTable.CustomerID;
不幸的是,ORMLite 中可用的join(...)方法需要在表之间进行明确的外键定义。
加入另一个查询生成器。这将在 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 个没有定义外部属性的表?