Отображение таблицы на иерархию, когда подклассы имеют необнуляемые поля?
У меня есть иерархия классов с абстрактным базовым классом и 4-5 подклассами. Я хочу использовать метод отображения таблицы иерархии классов в NHibernate, чтобы сопоставить их с одной таблицей базы данных, чтобы уменьшить количество соединений, генерируемых моими запросами.
Однако один из этих подклассов обладает свойством not-null, которого нет у других подклассов. Это означает, что всякий раз, когда я пытаюсь сохранить сущность одного из этих других подтипов, я получаю ошибку SQL, говорящую, что отсутствующее поле не может быть нулевым.
Означает ли это, что таблица на иерархию просто несовместима с моей моделью предметной области, или мне нужно что-то еще сделать?
1 ответ
Что вы ожидаете, что это поле будет содержать для классов, которые не имеют этого свойства?
Поскольку это, вероятно, NULL, вы должны просто сделать его обнуляемым, но проверить его в своей модели / бизнес-логике.