Как удалить потомка отношения «многие к одному», не удаляя при этом и родителя? - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь реализовать бронирование номеров пользователем.Таким образом, пользователь может зарезервировать комнату, которая затем сохраняется как новый (дочерний?) Объект в базе данных.

открытый класс User

@Entity
public class User implements Serializable {

    @Id
    @GeneratedValue
    private long id;

    private String lastname;
    private String firstname;
}

Публичный класс Room

@Entity
public class Room implements Serializable {

    @Id
    @GeneratedValue
    private long id;

    private String roomDescription;
}

Публичный класс Reservation

@Entity
public class Reservation implements Serializable {

    @Id
    @GeneratedValue
    private long id;

    @ManyToOne (cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    private User user;

    @ManyToOne (cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    private Room room;

    public Reservation() {

    }

    public Reservation(Room room, User, user) {
        super();
        this.room= room;
        this.user= user;
    }
}

Проблема: Я могу инициализировать /сохранить бронирование с пользователем и комнаты.Но когда я удаляю резервирование, оно удаляет (целые объекты) пользователя и комнаты (в базе данных).

Я попытался добавить orphanRemoval = false или orphanRemoval = true для @ManyToOne вclass Reservation, но это не работает.

Как я могу исправить, что он просто удаляет резервирование, но не пользователя и комнаты из базы данных?Спасибо!

...