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

发布于 2024-11-27 07:21:09 字数 225 浏览 0 评论 0原文

class Contact {
String name
String number
}

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

我需要加入 Message.number = Contact.number。关于在 Grails/GORM 中与非主键列创建关联有什么想法吗?

class Contact {
String name
String number
}

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

I need to join on Message.number = Contact.number. Any thoughts on creating association in Grails/GORM with non primary key column?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏日浅笑〃 2024-12-04 07:21:09

我很确定这在 GORM 中是不可能的,而且我不知道在常规 Hibernate 中是否可能。但你可以伪造它:

class Message {
   String text
   String number

   static transients = ['contactInfo']

   Contact getContactInfo() {
      Contact.findByNumber(number)
   }
   void setContactInfo(Contact contact) {
      number = contact.number
   }
}

I'm pretty sure this isn't possible in GORM, and I don't know if it's even possible in regular Hibernate. But you can fake it:

class Message {
   String text
   String number

   static transients = ['contactInfo']

   Contact getContactInfo() {
      Contact.findByNumber(number)
   }
   void setContactInfo(Contact contact) {
      number = contact.number
   }
}
随心而道 2024-12-04 07:21:09

Burt,这可以通过 hibernate 使用 property-ref 属性来实现

Burt, this is possible with hibernate using the property-ref attribute

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文