INSERT или UPDATE в таблице "user" нарушает ограничение внешнего ключа "fkjf7w******" Подробности: Ключ (id)=(1) отсутствует в таблице "landlord"

Программа и сервер(на Spring boot) запускается, но в консоли вижу ошибку:

Caused by: org.postgresql.util.PSQLException: ОШИБКА: INSERT или UPDATE в таблице "city" нарушает ограничение внешнего ключа "fktjrg7h2j3ehgycr3usqjgnc2u"
  Подробности: Ключ (id)=(1) отсутствует в таблице "house"

Мне кажется, что связи некорректные, либо ещё что-то, но вариантов особо нет, даже догадаться не могу, потому что когда добавляю квартиру (подумал, что города как-то зависят от домов), то ошибка меняется в цифре, была (id)=(1), а становится (id)=(2).

HOUSE:

@Data
@Entity
@Table (name = "house", schema = "task")
public class House {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name = "id")
    private Long id;

    // OnrToMany к городу
    @OneToMany(cascade = {CascadeType.DETACH, CascadeType.MERGE, CascadeType.PERSIST,
            CascadeType.REFRESH
    })
    @JoinColumn(name = "id")
    private Set<City> city;

    @Column(name = "id_landlord", nullable = false)
    private Long id_landlord;
    @Column(name = "outside", nullable = false)
    private String outside;
    @Column(name = "rooms", nullable = false)
    private Integer rooms;
    @Column(name = "price", nullable = false)
    private Double price;
    @Column(name = "description", nullable = false)
    private String description;
}

CITY:

@Data
@Entity
@Table(name = "city", schema = "task")
public class City {

    @Id
    @GeneratedValue(strategy= GenerationType.IDENTITY)
    @Column(name = "id")
    private Long id;

    @Column(name = "id_region", nullable = false)
    private Integer id_region;
    @Column(name = "name", nullable = false)
    private String name;
}

Ответы (2 шт):

Автор решения: Blacit

Всё оказалось проще, я неправильно сделал связи.

Вот так должно было быть:

public class House {
  ...
  @ManyToOne(optional = false)
  @JoinColumn(name = "city_id", referencedColumnName = "id")
  private Set<City> city;
  ...
}
→ Ссылка
Автор решения: sardor khaydarov
@ManyToMany
@JoinTable(
        name = "user_role",
        joinColumns = {
                @JoinColumn(name = "user_id", referencedColumnName = "id")},
        inverseJoinColumns = {@JoinColumn(name = "role_name", referencedColumnName = "name")}


)

private Set<Role> roles = new HashSet<>();
→ Ссылка