Это мой тестовый код:
Код: Выделить всё
System.out.println("P1");
System.out.println(day.fahrzeit);
System.out.println(day.pause);
System.out.println(week.kw);
System.out.println(day.dayIdx);
weekDao.delete(week);
weekDao.insert(week);
dayDao.delete(day);
dayDao.insert(day);
System.out.println("P2");
Day d = db.getDayDao().getByKwAndIdx(51, 3);
System.out.println(d.fahrzeit);
System.out.println(d.pause);
Код: Выделить всё
P1
0.083333336
0.25
51
3
P2
0.0
0.25
Это сущность дня:
Код: Выделить всё
@Entity
public class Day {
@PrimaryKey
public int id;
@ColumnInfo(name = "day_idx")
public int dayIdx;
@ColumnInfo(name = "week_id")
public int weekId;
@ColumnInfo(name = "user_id")
public int userId;
@ColumnInfo(name = "datum")
public String datum;
@ColumnInfo(name = "tag")
public String tag;
@ColumnInfo(name = "beginn")
public String beginn;
@ColumnInfo(name = "ende")
public String ende;
@ColumnInfo(name = "pause")
public Float pause;
@ColumnInfo(name = "summe")
public Float summe;
@ColumnInfo(name = "fahrzeit")
public Float fahrzeit;
@ColumnInfo(name = "ausloese")
public Float ausloese;
@ColumnInfo(name = "ue_pausch")
public Float uePausch;
@ColumnInfo(name = "fahr_km_privat")
public Float fahrKmPrivat;
@ColumnInfo(name = "arbeitsauftrag")
public String arbeitsauftrag;
}
Изменить:
Это реализация getByKwAndIdx():
Это реализация getByKwAndIdx():
p>
Код: Выделить всё
@Query("SELECT * FROM day A JOIN week B ON B.kw = :kw WHERE A.week_id = B.id AND A.day_idx = :dayIdx")
Day getByKwAndIdx(int kw, int dayIdx);
[img]https:// i.sstatic.net/iVnTY1Aj.png[/img]
Это подтверждает, что
а) Доступен только 1 день
б) Fahrzeit не равен 0,0
Подробнее здесь: https://stackoverflow.com/questions/792 ... all-fields
Мобильная версия