У меня есть боб Java. Теперь я хочу быть уверен, что поле должно быть уникальным.
Я использую следующий код:
@UniqueConstraint(columnNames={"username"})
public String username;
Но я получаю некоторую ошибку:
@UniqueConstraint is dissallowed for this location
Как правильно использовать уникальные ограничения?
Примечание: я использую игровые рамки.
Ответы:
Чтобы убедиться, что значение поля уникально, вы можете написать
Аннотация @UniqueConstraint предназначена для аннотирования нескольких уникальных ключей на уровне таблицы, поэтому вы получаете ошибку при применении ее к полю.
Рекомендации (JPA TopLink):
источник
Вы можете использовать на уровне класса со следующим синтаксисом
источник
В настоящее время я использую игровой фреймворк с hibernate и аннотацией JPA 2.0, и эта модель работает без проблем.
Надеюсь, это помогло.
источник
Примечание: в Kotlin синтаксис для объявления массивов в аннотациях использует
arrayOf(...)
вместо{...}
Примечание. Начиная с Kotlin 1.2 можно использовать
[...]
синтаксис, чтобы код стал намного прощеисточник
Way1:
- Здесь и Column1, и Column2 действуют как уникальные ограничения по отдельности. Пример: если в любое время значение столбца1 или столбца2 совпадает, вы получите ошибку UNIQUE_CONSTRAINT.
Way2:
- Здесь объединенные значения column1 и column2 действуют как уникальные ограничения
источник
Ограничения уникальности используются только для создания составного ключа, который будет уникальным. Он будет представлять таблицу как первичный ключ в сочетании с уникальным.
источник
Вы можете использовать @UniqueConstraint на уровне класса для комбинированного первичного ключа в таблице. например:
открытый класс ProductAttribute {}
источник
Уникальная аннотация должна быть размещена прямо над объявлением атрибута. UniqueContraints входят в аннотацию @Table над объявлением класса данных. Увидеть ниже:
источник