gpt4 book ai didi

java - org.hibernate.Session.save() 触发数据库插入

转载 作者:行者123 更新时间:2023-12-01 18:39:38 24 4
gpt4 key购买 nike

我遇到的问题是我的实体被插入到数据库中而没有调用任何“flush”,也许有人知道在什么情况下 session.save 立即触发数据库插入?

我认为我想要保存的对象中唯一有趣的部分(但不是持久化(!))是

  @javax.persistence.Id
@javax.persistence.GeneratedValue(strategy = GenerationType.IDENTITY)
@javax.persistence.Column(name = "EM_id")
private Long id;

@javax.persistence.Version
@javax.persistence.Column(name = "version")
private int version;

最佳答案

您是否手动处理交易?如果是,您应该在调用 save() 之前启动事务。调用save()后提交事务。我相信没有启动交易可能是造成这种情况的原因。

如果不是上述情况,则由于默认的 hibernate 刷新模式为AUTO,因此会发生没有flush()的保存。尝试将其更改为COMMIT

关于java - org.hibernate.Session.save() 触发数据库插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59964892/

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