休眠 使用@Transactional Annotation。
我的MVC层是控制器,模型,服务和DAO
我的要求是当我打开我的页面时,我想使用DB Procedure将数据保存到DabaBase但不提交, 我想将这些数据置于保持状态。
当该页面打开时我想做一些计算,当用户点击提交按钮时,我想提交保存数据.. 但是使用@Transaction它是不可能的,所以提交上一个事件的数据
答案 0 :(得分:0)
长时间运行的交易存在很大问题。我建议找一种替代方法:
使用跨越2个用户请求的事务有明显的问题。如果用户在第一次请求后关闭浏览器/丢失网络会发生什么。您有未提交的数据,可能存在行/表级别锁定,这可能会降低您的应用程序。
如果您仍然认为您想要使用长期运行的交易,可能的方法之一是:
session.getTransaction().setTimeout()
,以便用户在30秒内没有响应时,您的事务仍将结束解锁基础数据库资源