如何通过加入非主键列来创建关联

Lok*_*wer 7 grails grails-orm

class Contact {
String name
String number
}

class Message {
String text
String number   
Contact contactInfo //If any
}
Run Code Online (Sandbox Code Playgroud)

我需要加入Message.number = Contact.number.有关使用非主键列在Grails/GORM中创建关联的任何想法?

Bur*_*ith 5

我很确定这在GORM中是不可能的,我不知道它是否在常规Hibernate中是可能的.但是你可以假装它:

class Message {
   String text
   String number

   static transients = ['contactInfo']

   Contact getContactInfo() {
      Contact.findByNumber(number)
   }
   void setContactInfo(Contact contact) {
      number = contact.number
   }
}
Run Code Online (Sandbox Code Playgroud)