gpt4 book ai didi

grails - 保存大型域对象树的提示

转载 作者:行者123 更新时间:2023-12-02 14:13:19 25 4
gpt4 key购买 nike

我正在尝试保存一个大型 grails 域对象结构,其中域类的数量很少,但对象的数量大约有一百个。这些对象使用经典的 grails hasMany 链接。

基本思想是首先删除数据库,然后使用自定义 groovy 构建器使用配置 DSL 填充它。构建器返回一个完整的对象图/树,然后我想保存它。

我尝试了各种方法来保存它,例如只保 stub 节点,遍历整个树来保存每个节点等。但是,Hibernate 在各个地方都提示 session 被刷新。

有没有人做过类似的事情并且可以提供一些指示/建议如何进行?

将 save() 操作集成为构建过程的一部分会更好吗,例如节点完成(父节点,节点)?

Hibernate 是否已经超过了未完成的 SQL 操作的最大数量?

最佳答案

如果它确实是一个完整的对象树(使用 belongsTo 关键字),那么根节点的保存应该级联到所有其他对象。但是,手动保存每个项目也应该可以正常工作,只要您在除最后一次保存之外的任何内容上都没有说 flush:true 。

当我处理大量对象时,出于完全不同的原因,我发现像这样进行手动 session 处理很有帮助:

MyDomainClass.withSession { context ->
//my stuff here
//save
}

查看错误消息本身和您的域类结构也可能很有用。

关于grails - 保存大型域对象树的提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9537139/

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