Ошибка FOREIGN KEY constraint failed при использовании Room

229
09 июня 2022, 16:00

Не могу понять нюанс работы с Room. Добавление в базу данных связанных через внешний ключ записей получается только так:

int id = (int) database.userDao().insert(user);
Position position = new Position();
position.setUserId(id);
position.setName("programmer");
database.positionDao().insert(position);

Хотя в примерах достаточно так:

database.userDao().insert(user);
database.positionDao().insert(position);

Во втором варианте у меня возникает ошибка FOREIGN KEY constraint failed (code 787). Аннотации настроены:

@Entity(foreignKeys = {@ForeignKey(
        entity = User.class,
        parentColumns = "id",
        childColumns = "userId",
        onDelete = CASCADE)}, indices = {@Index(value = "userId")})
public class Position {
    @PrimaryKey(autoGenerate = true)
    private int id;
    private int userId;
    private String name;
...
}
@Entity
public class User {
    @PrimaryKey(autoGenerate = true)
    private int id;
    private String name;
    private int age;
    private boolean isLogged;
...
}
READ ALSO
Java Spring ошибка при redirect

Java Spring ошибка при redirect

Web приложение на Spring WebОбработчик, по мимо всего прочего, формирует pdf документ, и передаёт на скачивание

308
Method does not override method from its superclass

Method does not override method from its superclass

Пытаюсь понять в чем ошибка и на что ругается Android Studio в переопределении метода интерфейса, от которого имплементируюсь в данном классе

348
Применяется не тот класс CSS, который нужен

Применяется не тот класс CSS, который нужен

Не могу понять почему применяется внешнее правило CSS, a не внутреннее, <div class="Post_post__gI2Hu"> находится внутри <div class="Profile_content__3EemM">,...

339
Изменение переменной Flask

Изменение переменной Flask

Можно ли как то сделать так, чтобы при клике по кнопке на сайте менялась переменнаяПишу сайт через Flask на питоне

276