ORMlite Android外键支持

我从ORMlite文档中并不聪明。 是可以在类中声明,这个参数是外键

例如我有桌客户:

@DatabaseTable(tableName = "customer") public class Customer { @DatabaseField(id = true) private String customerName; @DatabaseField private String customerSurname; @DatabaseField(foreign = true) private String accountNameHolder; @DatabaseField private int age; public Customer() { } } 

AccountNameHolder应该指向来自表Accounts的DatabaseField名称。 怎么做? 我发现只有参数foreign = true,但没有什么关于,哪个参数,从哪个表代表。

谢谢

Solutions Collecting From Web of "ORMlite Android外键支持"

AccountNameHolder应该指向来自表Accounts的DatabaseField名称。 怎么做?

我不完全确定你想要什么,但可能你应该改变你的外地是实际types而不是名称:

 @DatabaseField(foreign = true) private Account account; 

在内部, ORMLite会在Customer表中存储一个account_id字段(也许是string名),但是你不必担心这个。 请记住,当您查询Customeraccount字段上设置的account将只设置ID字段。 要让ORMLite也查找帐户,您需要设置foreignAutoRefresh=true

正如@Lalit指出的那样,这里是关于这个主题的一些文档。 我们已经花了很长时间在文档上,所以它应该是有帮助的。

  • 异物
  • 国外自动刷新

此外,还有一些关于外国领域的示例代码 。

希望这可以帮助。