У меня есть несколько небольших вопросов о передовых практиках с JPA (через hibernate).
Мой первый вопрос касается сложности модели одного домена.У меня есть модель учетной записи, которая представляет ... учетную запись;) У учетной записи много связей с другими объектами.Многие из них должны быть известны объекту Account, но некоторые из них должны быть известны только для другой части.
Например, у меня есть модель Message, которая представляет сообщение, которое отправляется насчет.Я на самом деле не хочу переопределять мою модель Аккаунта новым отношением, потому что оно уже имеет много связей, поэтому я решил сделать связь между Аккаунтом и Моделью однонаправленной.
Итак, я сопоставил отношение с отношением ManyToOne только в классе Message, а не в Account.
Считаете ли вы хорошей практикой избегать слишком большого количества отношений вмодель класса (аккаунт в моем случае)?Или вы думаете, что я должен сопоставить ВСЕ отношения с учетной записью в моем классе учетной записи.Итак, какова лучшая практика, однонаправленные или двунаправленные отношения?
Мой второй вопрос касается однонаправленного случая.Когда я удаляю учетную запись из-за однонаправленной связи, все сообщения, ссылающиеся на эту учетную запись, теперь не удалось загрузить, поскольку родительская учетная запись отсутствует.
Как лучше всего поддерживать не поврежденную базу данных?- удалить все отношения при удалении учетной записи (может быть очень опасно с точки зрения производительности) - создать работу, которая постепенно удаляет все отношения и деактивирует учетную запись во время этого процесса
Спасибо за все предложения;)