0
OrmLite 5.0を使用しています。私は2つのエンティティを作成しました.1つは1対1で別のエンティティと関連しています。 これは私のラウンドクラスです:OrmLiteは、foreign filedsのフィールドとして、nullを返します。
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--
#################################
です。
戻り
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]]
私は丸いから、完全な競争のオブジェクトを取得する方法は考えています。