ID по любому определению (от RDBMS до Hibernate) является уникальным.Это уникальный ключ для идентификации и различения конкретной сущности.Выполнение этого каким-либо другим способом является ужасным антипаттерном, и вы никогда, ни при каких обстоятельствах, даже не должны его учитывать.
Если вам нужен агрегат («независимо от того, является ли он дублирующим или нет»), используйте агрегат,Выберите с различными, и / или ограничением, и / или группой.
Тот факт, что оно не выдает исключение, не делает его разумным.Это будет кусать тебя в будущем.Я думаю, что это произойдет примерно так: всякий раз, когда вы загружаете объект по идентификатору, он возвращает случайную копию.Даже если вы загрузите их коллекцию, вы получите случайные копии.Всякий раз, когда вы обновляете, он обновляет эту случайную копию.Как это разумная сущность личности?- И это и есть цель удостоверения личности!