我使用NHibernate,真的很新。我的困境是 我打开一个网页浏览器,它显示表格数据。与此同时,另一个人打开另一个网络浏览器,并从数据库中读取现有数据。什么是分布式系统的最佳选择,交易锁定?
与此同时,我在我的页面进行更改并保存。之后用户保存他的更改。当我重新加载页面时,我再也找不到我的数据,但是用户的数据,即他是最新的,我的数据已被替换。
我该如何避免这个问题?
我使用NHibernate,真的很新。我的困境是 我打开一个网页浏览器,它显示表格数据。与此同时,另一个人打开另一个网络浏览器,并从数据库中读取现有数据。什么是分布式系统的最佳选择,交易锁定?
与此同时,我在我的页面进行更改并保存。之后用户保存他的更改。当我重新加载页面时,我再也找不到我的数据,但是用户的数据,即他是最新的,我的数据已被替换。
我该如何避免这个问题?
您需要实现乐观并发控制:http://nhibernate.info/doc/nhibernate-reference/transactions.html#transactions-optimistic
最高效的方法是添加<version>
到您的实体(见http://nhibernate.info/doc/nhibernate-reference/mapping.html#mapping-declaration-version)
感谢您的回复。我怎样才能使用隔离? – learning 2010-07-23 10:14:16
这个问题可能是一些你感兴趣的:HTTP://计算器.com/questions/364265/what-is-the-best-default-transaction-isolation-level-for-erp-if-any – MicSim 2010-07-22 12:09:49