我有greenDao和@ToMany关系的问题。当我插入数据库时进行会话时,可以轻松获得@ToMany关系。在重新启动我的应用程序后,我的问题发生,正在返回的列表为空。greenDao @ToMany关系不起作用,返回0
在那里我做插入到数据库(我使用rxjava2得到模型)Daily.class
@Entity
public class Daily extends BaseObservable implements Parcelable {
@Id(autoincrement = true)
private Long id;
@Unique
private String tag;
@SerializedName("summary")
@Expose
private String summary;
@SerializedName("icon")
@Expose
private String icon;
@SerializedName("data")
@Expose
@ToMany(joinProperties = {
@JoinProperty(name = "tag", referencedName = "dataTag")})
@OrderBy("id ASC")
private List<DailyData> data = new ArrayList<DailyData>();
DailyData.class
@Entity
public class DailyData extends BaseObservable implements Parcelable {
@Id(autoincrement = true)
private Long id;
@NotNull private String dataTag;
... [rest of the code]
广场。我一直试图以不同的顺序插入它,但也没有影响。
public void insertCityToDatabase(City city) {
city.setName(cityLatLngList.get(getPosition()).getResult().getName());
city.getDailyWithoutId().setTag(city.getName());
city.getHourlyWithoutId().setTag(city.getName());
for (HourlyData hourlyData : city.getHourlyWithoutId().getHourlyDataWithoutId()) {
hourlyData.setDataTag(city.getName());
daoSession.insert(hourlyData);
}
for (DailyData dailyData : city.getDailyWithoutId().getDataWithoutId()) {
dailyData.setDataTag(city.getName());
daoSession.insert(dailyData);
}
daoSession.insert(city.getHourlyWithoutId());
daoSession.insert(city.getDailyWithoutId());
daoSession.insert(city.getCurrentlyWithoutId());
long id = daoSession.insert(city);
eventBus.post(new NewCity(id));
}
这里是我的DB Daily and DailyData,debuger Android Studio
我也试图通过 @ToMany(referencedJoinProperty = “ID”)做@ToMany关系,但结果是一样的。
任何想法为什么@ToMany关系不起作用?
你解决了吗?我有同样的问题 – user3384194
不,我被迫从greenDao转移到Realm导致这个问题。一旦我尝试在新项目中测试greenDao并且它正在工作,但我不知道为什么它不在这里工作。 –