Я пытаюсь разобраться с GORM и реляционным отображением. Отношения работают нормально, но есть одна проблема. Я не могу показаться слишком уверенным, что каждый MailAddress
, добавленный к MailingList
, имеет уникальный адрес. Каким должен быть эффективный способ сделать это?GORM, как обеспечить уникальность свойств связанных объектов
Примечание: На MailAddress.address
нет единственного ограничения. Идентичные адреса могут существовать в одной таблице.
class MailAddress {
String name
String email
static belongsTo = MailingList
static constraints = {
name blank:true
email email:true, blank:false
}
}
class MailingList {
String name
static hasMany = [addresses:MailAddress]
static mapping = {
addresses cascade: 'all-delete-orphan'
}
static constraints = {
name blank:false
}
}
Это проблема. Текущая таблица позволяет дублировать, которые я не могу изменить на данный момент. Я хочу только достичь уникальности между адресами в почтовом списке – Bart
Если я правильно понял вас, вы хотите уникальность между ассоциацией hasMany. Если это так, вы можете посмотреть этот ответ http://stackoverflow.com/questions/4041939/how-to-set-uniqueness-at-db-level-for-a-one-to-many-association – ibaralf
Спасибо для упоминания этого сообщения !! Я прочитал его несколько дней назад, но это дало мне головную боль, потому что предоставленный пример не работал. Поэтому я вернулся к документам и понял это. Спасибо за помощь. – Bart