Возможно, вы ищете общую структуру базы данных ключ-значение, в которой значения могут иметь несколько типов.Обычно это решается наличием некоторого абстрактного класса Value
с ключевым атрибутом и несколькими подклассами, каждый для каждого желаемого типа:
Теперь вы используете:
Map<String, Value>
Конечно, у этого подхода есть много недостатков, и одним из них является правильный выбор стратегии наследования (это зависит от того, сколько разных типов вы хотите сохранить).Но, по крайней мере, он абсолютно безопасен для типов.
У меня нет опыта работы с NHibernate, но с Hibernate (см .: Как вы отображаете «карту» в спящем режиме с использованием аннотаций? ) Вы можете отобразить Map
напрямую.