обнулить все ссылки на удаленную сущность - PullRequest
2 голосов
/ 06 октября 2011

У меня есть сущность Клиент и Сессия сущности. У клиента есть поле currentSession, которое ссылается на сущность Session. В какой-то момент я заканчиваю тем, что удаляю сеансы, иногда это текущий сеанс клиента. Есть ли способ, которым я могу дать указание своему поставщику персистентности null поле currentSession клиента, если оно ссылается на сеанс, который я удаляю?

@Entity
public class ClientEntity {

    @OneToOne
    private SessionEntity currentSession;
}

Когда я закончу с определенной сессией; Я хочу удалить это так. Обратите внимание, что нет никакой гарантии, что session также является текущим сеансом клиента.

entityManager.remove( session );

Я мог бы делать все это в коде, но это было бы просто уродливо; и я бы хотел, чтобы поставщик постоянных программ позаботился об этом управлении отношениями для меня.

1 Ответ

2 голосов
/ 06 октября 2011

Насколько я понимаю, вы говорите о том, что довольно много людей пропускают в Hibernate, что-то вроде Cascade.SET_NULL.это уже обсуждалось здесь и там .

И, как советует один из авторов, вам нужно будет сделать это самостоятельно в перехватчике или слушателе,или найдите другой способ добиться того, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...