1

我想使用 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 个没有定义外部属性的表?

4

0 回答 0