如何在 ORMLite 中正确使用 Foreign?
我有一个类货币对,它由类货币的 2 个实例组成。我了解,数据库不会保存实例,而是保存它们的 ID。
这里是这些类的相关部分。
DatabaseTable(tableName = "CurrencyPairs")
public class CurrencyPair {
@DatabaseField(id = true)
private int id;
@DatabaseField(columnName = "baseCurrency_ID", **foreign** = true )
private CCC_Currency baseCurrency;
@DatabaseField(columnName = "quotedCurrency_ID", **foreign** = true )
private CCC_Currency quotedCurrency;
@DatabaseField(columnName = "subscribed")
private boolean subscribed;
和
@DatabaseTable(tableName = "CCC_Currencies")
public class CCC_Currency {
@DatabaseField(columnName = "currencyName")
private String currencyName;
@DatabaseField(columnName = "shortName")
private String shortName;
@DatabaseField(columnName = "symbol")
private String symbol;
@DatabaseField(columnName = "isFiat")
private boolean isFiat;
@DatabaseField(generatedId = true)
private int id;
当我现在加载 Currencypairs 时
try {
CurrencyPair_Dao = DaoManager.createDao(dbHandler.getInstance(),
CurrencyPair.class);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Get Objects and add them to the library
List<CurrencyPair> all = null;
try {
all = CurrencyPair_Dao.queryForAll();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
它在所有列表中创建currencyPairs,但它们的字段(例如baseCurrency)为空。不知何故,ID 没有链接到对象本身。
我错过了什么?
谢谢您的帮助