【问题标题】:Grails one-to-one query optionsGrails 一对一查询选项
【发布时间】:2014-12-06 21:36:02
【问题描述】:

我是 grails 的新手,在 grails 中实现一对一关系并尝试查询表,但不确定如何在域类中表示一对一关系并查询结果。

我有两张桌子

car(car_id number primary key,name varchar2(255))
engine(eng_id number primary key,name varchar2(255),car_id number (foreign key to car_id))

域类:

class Car {
   ..
  static hasOne = [engine: Engine]
}


class Engine {
   Car car
   static belongsTo = [car : Car]
}

上述领域类中的一对一关系是否正确?

我需要查询所有有引擎的汽车,我应该使用标准查询api还是使用HQL??

任何帮助表示赞赏。

【问题讨论】:

  • 你已经解决了吗?我也遇到了同样的问题。

标签: database grails grails-orm


【解决方案1】:
class Engine {
   //Car car 
   static belongsTo = [car : Car]
}

只需删除Car car 即可。现在你有 2 个链接到引擎中的汽车类

【讨论】:

    【解决方案2】:

    对于真正的一对一关系,使用拥有方的 hasOne 属性,例如汽车:

    class Car {
       ..
      static hasOne = [engine: Engine]
    }
    
    
    class Engine {
       Car car
    
       static constraints = [
          car unique: true
    }
    

    一个好的做法是在关系的一侧添加一个独特的约束。点击here 阅读文档。

    【讨论】:

      猜你喜欢
      • 2012-09-06
      • 1970-01-01
      • 2014-09-12
      • 2023-04-09
      • 2013-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-19
      相关资源
      最近更新 更多