我有一个user_id(对于用户域),并希望保存引用该用户的另一个域的新实例而不提取用户实例。这可能吗?我试过了:
User user = User.load(user_id)
new Action(user: user, foo: "bar").save()
这会抓取用户。我也尝试过:
User user = new User(id: user_id)
new Action(user: user, foo: "bar").save()
这也会提取用户。
出于性能原因,我需要这个工作,如果可以避免,我不想使用JDBC插入行。我使用的是Grails 3.0.1。
答案 0 :(得分:2)
这是ORM的黑暗面,如果不绕过GORM,你将无法做到这一点。 ORM只知道对象和类。表,列和其他数据库内容不在ORM的字典中。另一种选择是为此创建服务,在此服务中使用POGO(常规版本的POJO)与数据库进行交互。