gpt4 book ai didi

java - Hibernate:通过 native SQL 或生成的查询更新实体

转载 作者:行者123 更新时间:2023-12-01 15:41:25 25 4
gpt4 key购买 nike

在hibernate中,我们可以通过多种不同的方式更新数据库中的实体。如果我们在打开的 session 中更改附加实体,然后提交更改(通过关闭 session ),所有更改将保存在数据库中。但是,例如,特定实体有许多字段。我们只想改变其中的几个。然后,hibernate将生成查询,它将更新实体的所有字段:已更改和未更改。因此,hibernate 生成的更新查询存在开销。如果我们知道对象的哪些字段将被更改,那么创建 navite SQL 查询是否会更好,我们只能更新指定的字段?有什么优点和缺点?

最佳答案

您可以将 Hibernate 配置为仅更新已更改的字段,如下所示:

@org.hibernate.annotations.Entity(dynamicUpdate = true)

但是,应该仔细测试此设置的实际效果,因为在某些情况下它会降低性能。

另请参阅:

关于java - Hibernate:通过 native SQL 或生成的查询更新实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7992708/

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