gpt4 book ai didi

Hibernate:为什么包的变化会导致数据库中出现奇怪的 ADD 和 DELETE?

转载 作者:行者123 更新时间:2023-12-03 08:14:14 24 4
gpt4 key购买 nike

我在 User 和 Role 这两个类之间有一个 n:m 关联,实现为带有 lazy="extra"的包。关联存储在一个关联表中,因为一个用户可以有多个角色,一个角色可以与多个用户相关联。

现在,当我向用户添加新角色时,hibernate 发出 sql 代码,该代码首先删除关联表中的所有条目,然后再次添加所有条目以及新关联。

我想知道为什么会发生这种情况以及如何摆脱这种行为。

拉尔夫

最佳答案

我自己找到了解决方案:Hibernate bags 总是先删除全部内容,然后重建新状态。如果您使用集合,则会正确维护关联。

参见 hibernate 手册,Improving Performance

关于Hibernate:为什么包的变化会导致数据库中出现奇怪的 ADD 和 DELETE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3316070/

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