Это не так, как это работает. Если вы думаете о чем-то более простом, например «String username», проверка уникальности создает уникальный индекс в базе данных по этому столбцу. Таким образом, два пользователя не могут иметь одинаковое имя пользователя / логин / и т. Д.
Но вы просите, чтобы содержимое списка было уникальным. Ограничение (если оно имеет смысл) будет сравнивать два списка и гарантировать, что никакие два списка Test
экземпляров values
не будут одинаковыми. Например, [1, 3, 5] <-> [1, 3] будет в порядке, но [1, 3, 5] <-> [1, 3, 5] не удастся. Это было бы непрактично для реализации и не поддерживается. Это эквивалентно требованию, чтобы имя пользователя не повторяло буквы - «burt» будет в порядке, но «burtbeckwith» не получится.
Если вы хотите, чтобы в коллекции были уникальные элементы, просто измените их со Списка на Набор. Вам даже не нужно ограничение:
class Test {
Set<BigDecimal> values
}