我在对象树中有一个对象,它由 nhibernate 乐观锁定功能“保护”。
如果我捕捉到事务提交中发生的 staleobjectexception,我必须手动遍历树,但是如果事务额外提交了一些独立的对象 - 这些都丢失了......:(
两者都让我相信架构中的错误
但正确的方法是什么?
每个对象树的单个事务,不要在 staleobjectexception 上构建冲突处理,...?
我对我目前的方法有一种不好的感觉......
我在对象树中有一个对象,它由 nhibernate 乐观锁定功能“保护”。
如果我捕捉到事务提交中发生的 staleobjectexception,我必须手动遍历树,但是如果事务额外提交了一些独立的对象 - 这些都丢失了......:(
两者都让我相信架构中的错误
但正确的方法是什么?
每个对象树的单个事务,不要在 staleobjectexception 上构建冲突处理,...?
我对我目前的方法有一种不好的感觉......
我想附上我的观点,我的经验。
(所以它不一定是你问题的答案)。我喜欢你/我们确实质疑我们自己的代码、我们自己的设计/架构——这是一个好兆头。糟糕的是,如果我们忽略它...
这是一组应该遵循的规则:最佳编码实践。
其中之一是(摘录):
程序员编写的代码应该很简单。实现简单事物的复杂逻辑应保持在最低限度,因为将来代码可能会被其他程序员修改。一个程序员实现的逻辑可能对另一个程序员来说并不完全合理。因此,始终保持代码尽可能简单
换句话说:如果它看起来不是好的架构,那就不是。如果你不喜欢它,其他人也不会喜欢它。
好吧,下面我说明了一些常见的方法,我们确实适用于版本控制。
就是这样。真的,没有比这更复杂的了。但如果这不能回答你的问题,我确实理解......我只是想将我的意见附加到这个讨论中。