休眠:在冲洗前模拟

问题描述 投票:0回答:1

在我们的应用程序的一个点,一个可以编辑一些复杂的数据,点击保存,并得到一些演算结果返回。

现在,我们希望用户能够得到这些结果,而实际上将数据保存到数据库 - 允许用户取消行动,如果结果不正常。有没有办法使用Hibernate(或任何其他方法/工具/工作流),这样做呢?一种“创建而不让冲洗会话”?

我们的业务服务在很大程度上依赖于DAO中做这些计算 - 在这个时候,只有我们能想到的事情是实际一直存在修改的数据,计算结果,然后删除临时数据和结果发送回。如果用户确认他想继续,真正的数据保存和牙石再次处理(在此期间有被修改的数据的风​​险。)

谢谢。

hibernate java-ee
1个回答
0
投票

创建一个会话可以离开这么久可能会导致你的连接池的问题。

要做到这一点,你可以返回实体没有被保存,并有另一个进入您的系统,让您保存接收到的实体(与之前的验证)。

这样一来,您就不必包含过渡数据的客户端会话;您管理完整的实体:计算后返回完整实体,并在客户端验证后,您会收到一个完整的实体。

要知道,你可能会刷新/保存它,因为你可以有另一个线程/客户端,客户端验证过程中修改了它之前重新连接你的实体Hibernate的Session。

© www.soinside.com 2019 - 2024. All rights reserved.