Sqlite ORMLite:如何在没有外键的情况下连接两个表

Sqlite ORMLite:如何在没有外键的情况下连接两个表,sqlite,ormlite,Sqlite,Ormlite,我必须在sqlite中连接两个独立的表。他们没有任何外键关系 例如: 表A有一个字段名称 表B有一个字段primaryName 我想做一些像 select A.* from A inner join B on A.name = B.primaryName where A.id = 10 and B.address is null ORMLite强制执行外键,在ORMLite中有没有办法做到这一点?不幸的是,简短的回答是“现在不行”。您当然可以使用原始查询功能来支持这一点: 编辑:

我必须在
sqlite
中连接两个独立的表。他们没有任何外键关系

例如:

  • 表A有一个字段
    名称
  • 表B有一个字段
    primaryName
我想做一些像

select A.* from A inner join B on A.name = B.primaryName
    where A.id = 10 and B.address is null

ORMLite
强制执行外键,在
ORMLite
中有没有办法做到这一点?

不幸的是,简短的回答是“现在不行”。您当然可以使用原始查询功能来支持这一点:

编辑:

这已经[最终]添加到了ORMLite中。它已签入主干,将在版本4.49中。以下是github上的签入:


即使使用原始查询,也需要定义外键关系。否则原始查询不会返回任何结果。如果存在类似于
queryBuilder.rawFrom(“A.name=B.primaryName上的内部联接B”)
的内容就足够了。但是使用当前的原始查询会让我丧命,因为结果列表是Object[]类型的。这是一个很棒的新特性。谢谢@Gray。我想知道为什么ormlite android v4.49的gradle捆绑包不可用,以及它是否会很快可用?@nemo它可以在ormlite.com/releases上找到,但只能作为快照