Я не уверен на 100%, что это только проблема Hibernate, поскольку это может быть более абстрактное решение, но я попробую.
Поскольку описание проблемы немного длинное, сначала я скажу, чтото, что я хотел бы сделать, это посмотреть, смогу ли я изменить реализацию на что-то, что больше напоминает реализацию Best Practice, чем это.
У меня есть 3 сущности, относящиеся к этой проблеме: Рабочая станция (ws), Сотрудник иОрганизационная единица (организационная единица).
Сотрудник может принадлежать к одной организационной единице.
Организационная единица может содержать много сотрудников.
Рабочая станция используется для отображения данных организационной единицы (в общем), из организационной единицы и конкретного работника в ней и работника, который не принадлежит организационной единице.
В настоящее время по различным причинам, которые были из моегоуправления, мы не используем никаких связей между сущностями в Hibernate или через DB-Constraints, но мы просто используем столбцы, которые логически служат внешними ключами.
В настоящее время у нас есть дополнительная таблица, которая имеет 4столбцы: Id, WSId, EmployeeId, OrgUnitId.
Это позволяет WS ссылаться на orgunit (где employeeId равен нулю), на сотрудника без org-unit (orgunitId равен null) или на сотрудника и org-unit(где ни один не является нулевым).
Я хотел бы знать:
1.Дать WS, за какими сотрудниками он следует и какие организационные единицы и как (то есть, один, ссотрудник?который?)
2.Дал сотрудника, который WS контролирует его.
3.Дал орг-подразделение, какой WS его контролирует и как (то есть, один, с сотрудником? какой?)
Эта проблема связана со слоем представления, так как он диктует, что представление будет сгенерировано, НО он будет частью модели домена как пользователь, будет использовать интерфейс для управления этими отображениями мониторинга, и поэтому эти отображения являются частью модели домена..
Я не уверен, что то, что у меня есть, не наименее зло среди вариантов, и я был бы очень признателен за комментарии и предложения.
РЕДАКТИРОВАТЬ От одного изОтветы Я думаю, что не совсем понятно, что WS может отображать данные для многих таких сопоставлений одновременно, в смеси указанных выше видов (орг-единица, сотрудник и т. д.)