是否可以在不提取引用域的情况下保存新的Grails域实例?

时间:2015-07-08 13:03:16

标签: hibernate grails gorm

我有一个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。

1 个答案:

答案 0 :(得分:2)

这是ORM的黑暗面,如果不绕过GORM,你将无法做到这一点。 ORM只知道对象和类。表,列和其他数据库内容不在ORM的字典中。另一种选择是为此创建服务,在此服务中使用POGO(常规版本的POJO)与数据库进行交互。