休眠:冲洗前模拟

时间:2019-02-05 15:06:40

标签: hibernate java-ee

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

现在,我们希望用户能够获得这些结果而无需实际将数据保存到数据库中-允许用户在结果不正确时取消操作。 使用Hibernate(或任何其他方法/工具/工作流程)有什么办法?一种“创建不允许冲洗的会话”?

我们的业务服务在很大程度上依赖于DAO进行这些计算-目前,我们唯一能想到的就是实际保存修改后的数据,计算结果,然后删除临时数据并将结果发送回去。如果用户确认要继续,将保存真实数据并再次处理微积分(同时有数据被修改的风险。)

谢谢。

1 个答案:

答案 0 :(得分:0)

创建一个可能会持续很长时间的会话会导致您遇到连接池问题。

为此,您可以不保存而直接返回该实体,并在系统中输入另一个条目,使您可以保存收到的实体(具有一些先前的验证)。

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

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