Вы можете создать частный конструктор по умолчанию.
NHibernate нужен конструктор по умолчанию, чтобы иметь возможность конструировать объект при загрузке объекта из базы данных.После создания NHibernate установит все свойства или элементы с данными, которые существуют в БД.
Мое мнение, что NHibernate должен просто восстановить объект с данными, поступающими из БД, и что он не должен выполнять никакихдругая логика, которая может повлиять на состояние объекта.