NHibernate отключить все-удалить-сирота - PullRequest
0 голосов
/ 18 мая 2011

Применение приложения NHibernate.У меня есть объект A, который содержит набор объектов B. У меня есть cascade = "all-delete-orphan" в моем конфигурационном файле.Когда я делаю изменения в объекте A, затем сохраняю, объект B также сохраняет.Как предотвратить сохранение B?Можно ли отключить каскад на мгновение?С уважением Марчин

Ответы [ 2 ]

1 голос
/ 18 мая 2011

Вы можете рассмотреть возможность использования IStatlessSession

Операции, выполняемые с использованием безгражданства сеанс никогда не каскад связанные случаи. Коллекции игнорируется сеансом без сохранения состояния. Операции, выполняемые с помощью лица без гражданства Обход сеанса в модели событий Hibernate и перехватчики. Сессии без гражданства уязвимы для алиасинга данных эффекты, из-за отсутствия кеш первого уровня. Сессия без состояния это абстракция нижнего уровня, очень ближе к базовому ADO.

0 голосов
/ 18 мая 2011

Чтобы предотвратить каскадное сохранение, вы должны удалить атрибут из сопоставления.Поскольку отображения встроены в фабрику сеансов, простого способа временно отключить каскад не существует.

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