批量更新Hybris中Java表中的列

时间:2015-05-22 09:57:50

标签: java hybris

Id status  
789  1    
769  0   
234  1

将ID的状态值更新为

Id status  
789  0    
769  0   
234  1

而不是使用选择查询,模型服务并逐个保存, 可以使用 JAVA 中的更新查询 Impex Insert_Update 进行批量更新

1 个答案:

答案 0 :(得分:1)

Hybris目前没有有效的批量更新功能 - ModelService.saveAll()不会将多个更新组合到一个要执行的SQL语句中。

当需要定期更新大量记录时,我已经多次遇到此限制。

过去我曾与Hybris核心平台团队讨论此事,但他们似乎并不热衷于解决这个问题。

如果我需要定期更新大量记录(数十万或更多),我倾向于将这些数据存储在Hybris数据模型之外的表中并使用普通JDBC访问它 - 不是很糟糕优雅,但不是太糟糕,只要你把它包裹在DAO层。

更进一步,您可能需要考虑使用MongoDB之类的NoSQL方法来存储这些记录,但这取决于您的要求。