【问题标题】:Prevent grails from fetching domain object防止 grails 获取域对象
【发布时间】:2012-09-25 16:55:32
【问题描述】:

我有一张属于某个用户的图片

class Image {
  static belongsTo = [user: User]
  String name 
  String path
}
class User {
  String name
}

如何在不获取数据库中的用户的情况下获取用户 ID:

myService.doIt(Image.get(1).user.id)

获取用户(我只需要这里的 id)

【问题讨论】:

    标签: grails grails-orm


    【解决方案1】:

    对域类属性“foo”使用动态“fooId”属性:

    myService.doIt(Image.get(1).userId)
    

    【讨论】:

    • 从哪个版本的 Grails 开始添加动态属性?
    • 它已经很老了,但文档不足。
    • 非常感谢(在文档中错过了)
    • 小心,我今天被这个咬了:如果您的用户有可能已经被先前的查询加载,那么 userId 将(总是?有时?不确定..)为空。这里的一种解决方案是始终使用userId ?: user.id
    • 我在域类的一个方法中使用userId idea,虽然当我run-app 时它工作正常,但在运行 unit spock 单元测试时我不工作(缺少属性错误报道)。这是预期的吗?
    猜你喜欢
    • 2013-10-09
    • 1970-01-01
    • 2014-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多