为什么 hibernate 在保存对象之前进行选择?
我在互联网上找不到有用的信息。这是每次保存前的正常行为吗?我找到了这个主题,select Query Run for hibernateTemplate.save() - 保存,但我不认为这个答案是“确定的”。我的意思是,如果我想在保存每个对象之前避免这种选择,我们是否必须使用版本控制?
我将不胜感激所有的解释或链接。
最佳答案
所以 Julia 是对的,使用分配了 ID 的实体调用 Session.save()
会导致 hibernate 执行 SELECT
,然后执行 INSERT
。幸运的是,有两种解决方法:
- 不要预先分配您的 ID(这对我来说不是一个选择)
- 调用
Session.persist()
而不是Session.save()
第二个选项也可以与 Envers 无缝协作。
希望这可以节省其他人的狩猎时间。
关于hibernate - 为什么 hibernate 在 SAVE 之前执行 SELECT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5590881/