Hibernate: Почему смена пакета приводит к странным ДОБАВЛЕНИЯМ и УДАЛЕНИЮ в базе данных? - PullRequest
3 голосов
/ 23 июля 2010

У меня есть n: m-ассоциация между двумя классами User и Role, реализованная в виде пакета с lazy = "extra".Ассоциация сохраняется в таблице ассоциации, так как у пользователя может быть много ролей, а роль может быть связана со многими пользователями.

Теперь, когда я добавляю новую роль пользователю, hibernate выдает код sql, который сначала удаляет всезаписей в таблице эссоциации, а затем снова добавляет их все вместе с новой ассоциацией.

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

Ralf

1 Ответ

2 голосов
/ 23 июля 2010

Я сам нашел решение: сумки Hibernate всегда сначала удаляют alle entreis, а затем перестраивают новое состояние. Если вы используете набор, связь сохраняется должным образом.

См. Руководство по гибернации, Улучшение производительности

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