ORMlite Android外键支持

Way*_*int 17 android foreign-keys ormlite

我对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() {
    }
}
Run Code Online (Sandbox Code Playgroud)

AccountNameHolder应该针对表Accounts中的DatabaseField名称.怎么做?我发现只有参数foreign = true,但没有任何关于,它代表哪个参数和表.

谢谢

Gra*_*ray 41

AccountNameHolder应该针对表Accounts中的DatabaseField名称.怎么做?

我不完全确定你想要什么,但可能你应该将你的外国字段改为实际类型而不是名字:

@DatabaseField(foreign = true)
private Account account;
Run Code Online (Sandbox Code Playgroud)

在内部,ORMLiteaccount_idCustomer表中存储一个字段(可能是字符串名称),但您不必担心这一点.请记住,当你查询的Customer,将Account被设置在account现场就只能id字段集.要让ORMLite也查找您需要设置的帐户foreignAutoRefresh=true.

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

此外,还有一些关于外国字段的示例代码.

希望这可以帮助.