我有一个域类模型,由1:n关联的层次结构组成,例如:
1:n关系是通过域类中的hasMany和belongsTo映射实现的。域实例是从上传的文件创建的,在某些情况下,一个校正可以包含20.000行,每行有20个单元格。
目前上传的文件已被解析,域对象已创建,但此时未保存,因为必须验证实例并显示错误消息。如果所有实例都没有错误,我保存顶级域类,如:
.setLayoutParams(new FrameLayout.LayoutParams(100,100)
这会在所有级别上保存集和所有关联的域实例。现在一切都由GORM管理。对于庞大的结构,保存过程往往变得非常慢,因为很可能hibernate会话变得更大。
我不想立即保存实例,因为验证错误应该汇总并显示给用户。所以我不能每100条记录刷新一次hibernate会话。
性能测试显示8906行需要5:01分钟,每行13个单元格= 115.778条记录。
环境:
是否有建议加快保存程序?