Основные данные Проблема с отношениями в объектах наследования - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть один абстрактный объект: вложение, которое имеет 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).

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

Может быть, вы можете объяснить эту проблему?Или, может быть, я делаю ошибки?

...