gpt4 book ai didi

grails - MongoDB 和 mysqlDB 在 grails 中一起使用导致我的项目出现问题

转载 作者:行者123 更新时间:2023-12-02 04:59:02 26 4
gpt4 key购买 nike

我有两个领域类

一个是 User.groovy,它存储在 mongodb 中

class User {

String firstName
String lastName
Address address

static mapWith = "mongo"
static mapping = {version false

}

static constraints = {
address nullable: true
}
}

第二个是存储mysqlDB的地址

class Address {

String address1

String address2

String city

String state

String country


static constraints = {
}
}

当我在逻辑下运行时

def userInstance=User.get(1l)
println "--->>"+userInstance?.address?.address1

加载 [class com.imomentous.Address] 类型的关联 [1] 时出错。关联实例不再存在。

当我在逻辑以下运行时

def userInstance=User.get(1l)
println "--->>"+userInstance?.address?.id

它给了我 -->1

这背后的原因是什么?

最佳答案

跨映射的关联可能不会起作用。 id 起作用的原因是因为 grails 在关联的惰性对象上做了一个偷偷摸摸的技巧以防止开销。如果只需要一个关联的 ID,它通常存储在 User 对象(对于上面的示例)中的一个字段中,该字段可能类似于 address_id。如果您只请求 userInstance.address.id,那么 GORM 足够聪明不会去获取整个地址记录(惰性),除非确实需要。

关于grails - MongoDB 和 mysqlDB 在 grails 中一起使用导致我的项目出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18618791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com