2011-10-11 40 views
0

首先,对不起,如果我的英语是如此糟糕,我在使用Hibernate的新,所以有一些问题,我想请所有的高层。 这里的条件: 我使用ZK的观点,在一个视图中我有一个工具栏,有(添加),(保存),(取消)按钮。所以我想要的是,当用户klik(添加)休眠将启动一个新的事务,然后用户插入一些数据后,用户klik(保存)。在这个(保存)按钮事件中,hibernate会调用commit来将数据插入数据库。Hibernate事务,承诺无效无活动事务

的问题是,当用户的点击保存,它的错误与消息 “提交无效而不活动事务” 后1个跟踪程序流程我发现,当用户的点击的(保存)钮,交易,我已经开始以前不再活跃。

##我要问究竟是为什么交易是无效的,而我不是提交它了吗? ##与Hibernate和 的hibernate.current_session_context_class

使用我'春=螺纹

感谢对帮助

回答

1

这是不可能说没有看到代码。但是你想要做的是一个非常糟糕的主意。不要这样做。交易应尽可能短。让交易开了很长一段时间(您的用户可能需要一段时间的添加保存点击)离开连接开放,不可以被其他并发用户,可能会导致超时,无论如何,和可以锁定一些数据库行或表,使所有其他用户等待事务完成。

只有当用户点击保存按钮时,才能在数据库中插入和提交。由添加按钮来完成这些修改不应该在数据库中坚持着,但被存储在内存中,直到用户点击保存

+0

是的,你说的是对的,但我有,因为我的应用程序需要翻过事务的多个事件做这种方式。嗯...但保存在内存中也是一个好主意,如果我不需要锁定记录。 –

相关问题