Как создать ассоциацию, присоединившись к столбцу без первичного ключа - PullRequest
7 голосов
/ 31 июля 2011
class Contact {
String name
String number
}

class Message {
String text
String number   
Contact contactInfo //If any
}

Мне нужно присоединиться к Message.number = Contact.number.Любые мысли о создании ассоциации в Grails / GORM с колонкой не первичного ключа?

Ответы [ 2 ]

5 голосов
/ 31 июля 2011

Я почти уверен, что это невозможно в GORM, и я не знаю, возможно ли это даже в обычном Hibernate. Но вы можете подделать это:

class Message {
   String text
   String number

   static transients = ['contactInfo']

   Contact getContactInfo() {
      Contact.findByNumber(number)
   }
   void setContactInfo(Contact contact) {
      number = contact.number
   }
}
4 голосов
/ 26 августа 2011

Burt, это возможно в спящем режиме, используя атрибут property-ref

...