Я сейчас работаю над API и наткнулся на следующий дизайн.
// not mandatory
@ManyToOne
@JoinColumn(name = "person_id")
private Person person;
На самом деле, номер телефона должен принадлежатькомпания, человек или контактная форма.Однако это логически невозможно с существующим дизайном.Таким образом, существует небольшая проверка на уровне обслуживания, чтобы убедиться, что всегда есть хотя бы одна зависимость.
Теперь мне стало интересно, есть ли лучший способ решить эту проблему.Потому что теоретически что-то всегда может пойти не так, и зависимости могут быть потеряны, и данные все равно будут действительны в соответствии с сегодняшним состоянием.
Я думал о создании отдельного объекта телефонного номера для каждого объекта, который наследуется от телефонного номера.Но почему-то мне не очень нравится решение, но я думаю, что оно лучше предыдущего.Что мне не нравится, так это то, что создается намного больше объектов, которые также содержат наследование.
Новый подход приемлем или как вы решаете такие проблемы?