У меня есть один абстрактный объект: вложение, которое имеет 2 простых атрибута (UUID и String)
Attachment {
id: UUID,
type: String
}
и две модели наследования: FileAttachment и MessageAttachment.
В приложении File есть один простойссылка на атрибут.
FileAttachment -> Attachment {
link: URI
}
Вложение сообщения имеет один простой текст атрибута и одно отношение к вложениям вложения.
MessageAttachment -> Attachment {
text: String
attachments: [Attachment]
}
Когда я пытаюсь сохранить модель вложения файла, оно сохраняется правильно.Когда я пытаюсь сохранить модель вложения сообщения, в большинстве случаев она сохраняется неправильно.Но перед вызовом context.save объект вложения сообщения имеет правильные данные, а после сохранения он в основном нарушает данные.Но если я переместил вложения отношений из Вложения сообщения в Вложение (Абстрактное и Родительское Сущность), сохранение всегда будет в порядке.Когда я посмотрел базу данных, которая была создана с основными данными, и нашел неверный идентификатор в index-column (например, zattachment).
Может быть, это звучит очень странно, но когда у меня были похожие ситуации, я всегда перемещал все отношения изнаследование сущности родительской сущности и после этого сохранение было в порядке.
Может быть, вы можете объяснить эту проблему?Или, может быть, я делаю ошибки?