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

标签 hibernate grails gorm

我有一个user_id(用于User域),并且想要保存引用该User的另一个域的新实例,而无需获取User实例。这可能吗?我试过了:

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。

最佳答案

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

关于hibernate - 是否可以在不获取引用域的情况下保存新的Grails域实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31293564/

相关文章:

java - Hibernate + spring 版本兼容性

java - 在不同的事务问题中保持相同的依赖关系

使用相关实体的主键过滤结果的 Hibernate 条件查询

grails - 用于实现类层次结构向下钻取/向上钻取机制的脚手架功能

unit-testing - 如何在Grails 3中填充域类以进行单元测试

mysql - Hibernate 与 SQL :Best way to Update column of all rows in a table

orm - GORM继承问题

hibernate - 如何在 Grails 中持久保存枚举集合?

grails - 为什么Grails似乎正在保存无效的域对象?

grails - CountBy WithCriteria不匹配