Я не уверен, что моя проблема решается более или менее удобным способом.
Существует класс Person, который сопоставил hasOne участника.
У человека день рождения, но это поле не обязательно для самого человека. Но если я хотел бы добавить участника к человеку , тогда день рождения требуется.
Как от этого избавиться
- перенести информацию о дне рождения на объект участника -> Вот как я это сделал на данный момент, но я думаю, что перемещение информации о человеке в другие объекты не может быть окончательным решением
- Отобразить свойство в обоих классах -> как сообщить валидатору, когда оно требуется, а когда нет?
- Объединить два объекта -> пока не разрешено
Может быть, у кого-то есть идея получше, я использую nHibernate Validator и там настраиваю проверку в классе (где информация «день рождения» не является свойством для обоих - может быть, это будет решением?)