【问题标题】:Cannot build Relationship between two tables from different databases无法在来自不同数据库的两个表之间建立关系
【发布时间】:2014-10-30 08:13:39
【问题描述】:

我有以下用例:

  • [User.groovy]: 映射到 auth mysql 数据库中的 user 表。

  • [Project.groovy] : 映射到 pm mysql 数据库中的 project 表

当我在 2 个类之间添加这种关系时

class Project {

   User addedBy;
  //..................

}

我遇到了这个错误:

表项目中的关联引用了一个未映射的类: abdennour.auth.User

【问题讨论】:

    标签: grails grails-orm multi-database


    【解决方案1】:

    一般来说,tables in different databases 之间不能有主外键关系。

    【讨论】:

      【解决方案2】:

      基于@Donal 回答,我想解决这个问题的技巧:

      代替:

      class Project {
      
         User addedBy;
        //..................
      
      }
      

      我们将拥有:

      class Project {
      
         Long addedById;
        //..................
      
      
         User addedBy(){
      
            User.get(this.addedById)  
         }
      
      }
      

      这意味着,我们在领域层解决了这个问题

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-02
        • 2018-09-15
        • 1970-01-01
        • 2016-12-09
        • 1970-01-01
        • 2012-07-16
        相关资源
        最近更新 更多