从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名称。如何做到这一点?我只找到了参数found = true,但是没有关于它代表哪个参数和来自哪个表的信息。
谢谢
发布于 2012-01-25 23:22:10
AccountNameHolder应该针对来自表Accounts的DatabaseField名称。如何做到这一点?
我不是很确定你想要什么,但是你可能应该把你的外部字段改为实际的类型而不是名字:
@DatabaseField(foreign = true)
private Account account;
在内部,ORMLite将在Customer
表中存储一个account_id
字段(可能是字符串名),但您不必担心这一点。请记住,当您查询Customer
时,在account
字段上设置的Account
将只设置id字段。要让ORMLite也查找帐户,您需要设置foreignAutoRefresh=true
。
正如@Lalit所指出的,这里有一些关于这个主题的文档。我们在文档上花了很长时间,所以它应该是有帮助的。
此外,还有一些example code about foreign fields。
希望这能有所帮助。
https://stackoverflow.com/questions/9002519
复制相似问题