Удаляется полностью связанный объект в hibernate, подскажите правильный тип каскада

148
13 января 2019, 11:50

Имеются объекты клиент и билеты. Связь 1 ко многим. 1 клиент и множество билетов. Я хочу сделать так, чтобы при удалении билета, клиент не удалялся, а удалял только связь. Как это сделать? Какой тип каскада использовать?

Кто нибудь подскажите, какой тип каскада задать?

В 1 entity Клиент поле такое:

@OneToMany(mappedBy = "client", cascade = CascadeType.ALL, fetch = FetchType.EAGER, orphanRemoval = true)
    private List<Ticket> tickets = new ArrayList<>();

Во 2 Билет такое:

    @ManyToOne
    @JoinColumn(name = "client_id")
    private Client client;

Необходимо, чтобы при удалении Билета удалился только билет, а клиент удалил только связь.

Вот логи хибернейта на запрос удаления Билета:

Hibernate: 
    select
        ticket0_.ticket_id as ticket_i1_1_0_,
        ticket0_.client_id as client_i4_1_0_,
        ticket0_.cost as cost2_1_0_,
        ticket0_.date as date3_1_0_,
        client1_.client_id as client_i1_0_1_,
        client1_.full_name as full_nam2_0_1_,
        client1_.login as login3_0_1_,
        client1_.password as password4_0_1_,
        client1_.sex as sex5_0_1_ 
    from
        ticket ticket0_ 
    left outer join
        client client1_ 
            on ticket0_.client_id=client1_.client_id 
    where
        ticket0_.ticket_id=?
Hibernate: 
    select
        tickets0_.client_id as client_i4_1_0_,
        tickets0_.ticket_id as ticket_i1_1_0_,
        tickets0_.ticket_id as ticket_i1_1_1_,
        tickets0_.client_id as client_i4_1_1_,
        tickets0_.cost as cost2_1_1_,
        tickets0_.date as date3_1_1_ 
    from
        ticket tickets0_ 
    where
        tickets0_.client_id=?

ССЫЛКА НА ГИТ: https://github.com/gibkin/test-task-ivt.git

READ ALSO
Неявное поведение spring при работе с дженериками

Неявное поведение spring при работе с дженериками

Есть некая сущность Report и одна из ее реализаций:

146
Как вызвать метод java

Как вызвать метод java

Проблема в следующем, при выполнении кода метод (метод 1) вызывает другой метод (метод 2), но что-бы не увеличивать код нужно вызвать из "метода...

146
Java подключение библиотек

Java подключение библиотек

Немного не понимаю механизм подключения библиотеки, хочу подключить AGAVU, подскажите как ее добавить: достаточно в Maven добавить новую Dependency...

152
JSch addIdentity

JSch addIdentity

Скажите пожалуйста, как сгенерировать файл под jsch, я пробовал с помощью PuttyGen, но addIdentity вылетает с exception с сообщением, что файл-ключ "не правильный"?

137