【发布时间】:2017-05-07 17:26:00
【问题描述】:
我使用 OrmLite 5.0。我创建了 2 个实体,一个与另一个是一对一的关系。 这是我的回合课:
public class Round {
@DatabaseField(id = true)
private int id;
@DatabaseField(canBeNull = false)
private String name;
@DatabaseField(canBeNull = false, foreign = true, foreignAutoRefresh = true, foreignAutoCreate = true)
private Competition competition;
public Round(int id, String name, Competition competition) {
this.id = id;
this.name = name;
this.competition = competition;
}
public Round() {
}
这是我的竞赛课:
public class Competition {
@DatabaseField(id = true, columnName = "id", canBeNull = false)
private int id;
@DatabaseField(canBeNull = false)
private String name;
@DatabaseField(canBeNull = false)
private String flagUrl;
public Competition(int id, String name, String flagUrl) {
this.id = id;
this.name = name;
this.flagUrl = flagUrl;
}
public Competition() {
}
这是我的 ormlite_config.txt
# --table-start--
dataClass=com.example.test.model.db.Competition
tableName=competition
# --table-fields-start--
# --field-start--
fieldName=id
id=true
# --field-end--
# --field-start--
fieldName=name
# --field-end--
# --field-start--
fieldName=flagUrl
# --field-end--
# --table-fields-end--
# --table-end--
#################################
#################################
# --table-start--
dataClass=com.example.test.model.db.Round
tableName=round
# --table-fields-start--
# --field-start--
fieldName=id
id=true
# --field-end--
# --field-start--
fieldName=name
# --field-end--
# --field-start--
fieldName=competition
columnName=competition_id
foreign=true
# --field-end--
# --table-fields-end--
# --table-end--
#################################
我坚持比赛和回合。
compeitionDAO.queryForAll();
返回
Competition[id=36, name='Champions League', flagUrl='https://static.crowdscores.com/flags/uefa.png'],
但是
roundDAO.queryForAll();
返回
Round[id=1316, name="Group B", competition=Competition[id=36, name=null, flagUrl=null]]
我不知道如何从回合中获得完整的比赛对象。
【问题讨论】:
标签: java android sql orm ormlite