У меня есть таблица пользователей, и я хочу использовать имя пользователя (которое является адресом электронной почты) в качестве поля идентификатора, поэтому я использую для этого сгенерированное отображение: "assign". Я также добавил ограничение для поля username в быть подтвержден как адрес электронной почты, но это не применяется. Вот мой класс пользователя:
class User {
transient springSecurityService
String username
String password
String firstName
String lastName
static hasMany = [accounts: Account]
static hasOne = [company:Company]
static belongsTo = Company
static constraints = {
username blank: false, unique: true, email: true
password blank: false
accounts nullable:true
}
static mapping = {
password column: '`password`'
id generator:'assigned', name:'username', property:'username'
}
По сути, я пытаюсь использовать электронную почту пользователя в качестве поля идентификатора и использовать его в качестве внешнего ключа в его отношениях с другими объектами (в качестве отношения «один ко многим», который пользователь имеет с учетной записью), но когда я попробуйте вручную добавить имя пользователя в dbconsole, это позволит мне добавить любую строку.
Как мне применить ограничение электронной почты?