0

在我们的应用程序中,可以编辑一些复杂的数据,点击保存并返回一些微积分结果。

现在我们希望用户能够在不将数据实际保存到数据库的情况下获得这些结果——如果结果不正确,允许用户取消操作。Hibernate(或任何其他方法/工具/工作流程)有什么方法可以做到这一点?一种“创建会话而不允许刷新”?

我们的业务服务严重依赖 DAO 来进行这些计算——目前,我们唯一能想到的就是实际保存修改后的数据,计算结果,然后删除临时数据并将结果发回。如果用户确认他想继续,则保存真实数据并再次处理微积分(同时存在数据被修改的风险......)

谢谢你。

4

1 回答 1

0

创建一个可以离开这么长时间的会话可能会导致您出现连接池问题。

为此,您可以只返回实体而不保存,并在您的系统中有另一个条目,允许您保存接收到的实体(经过一些先前的验证)。

这样,您就可以避免使用包含转换数据的客户端会话;您管理完整的实体:在计算之后您返回完整的实体,并且在客户端验证之后您收到完整的实体。

请注意,您可以在保存实体之前将其刷新/重新附加到休眠会话,因为您可以有另一个线程/客户端在客户端验证期间对其进行修改。

于 2019-02-05T15:18:45.963 回答