SpringData中使用@DynamicInsert @DynamicUpdate 的作用


Hibernate会为每一个entity缓存它的INSERT/SELECT/UPDATE SQL语句。这样我们在保存、查找、更新entity时,不需要再去动态的计算这些SQL。

然而,当我们使用dynamic-insert、dynamic-update时, Hibernate都要重新计算一次相应的SQL语句,在Hibernate层面会有性能损耗。

所以我们需要在数据库及Hibernate的开销上做权衡。

在我看来,只有表中有庞大的blog列或者有超多的列,dynamic insert、 dynamic update才有意义;否则我不认为它们会带来性能提升。2

posted @ 2022-05-24 18:58  Arborblog  阅读(408)  评论(0编辑  收藏  举报