gpt4 book ai didi

java - 在 Hibernate 3 上禁用透明持久化

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:32:01 26 4
gpt4 key购买 nike

我们使用的是 Seam JBoss Seam 2.2.2 Final Release,其中包含 Hibernate 3.3.1.GA。我们在表上放置了更新触发器,这样,当表发生更新时,旧记录将记录在历史表中。

我们有一个页面,其中包含填充实体的字段。当一个字段完成时,将调用 AJAX 调用以根据需要更新实体的方法(在 JSF 中)。问题是,Hibernate 将实体视为已更改,并相应地更新数据库表。这增加了历史表。我们仅使用使用 Hibernate 的 JPA 实现。

我的问题是:如何在 Hibernate 中禁用自动更新(称为透明持久性)?我们希望通过调用 EntityManager.persist()EntityManager.merge()(在代码中)来显式保存实体。

谢谢

最佳答案

回答您的问题:

在离开方法之前不要更新方法中的实体或清除实体管理器。

我认为您需要的答案:

不要将每个单独的更改发送到数据库,而是汇总所有更改,并且仅在用户提交更改后更新持久实体(例如按钮“保存”或“下一步”或类似按钮)。

关于java - 在 Hibernate 3 上禁用透明持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12741311/

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