首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nhibernate乐观锁/处理staleobject异常

nhibernate乐观锁/处理staleobject异常
EN

Stack Overflow用户
提问于 2013-05-26 00:47:29
回答 1查看 256关注 0票数 0

我在对象树中有一个对象,它是由nhibernate乐观锁特性“保护”的。

如果我在事务提交中捕获到staleobjectexception,我必须手动遍历树,但是如果事务额外提交了一些独立的对象-这些对象会丢失...:(

两者都让我相信架构中的错误

但是,什么是正确的方法呢?

对于每个对象树的单个事务,不要在staleobjectexception上构建冲突处理,...?

我对我目前的方法有一种不好的预感...

EN

回答 1

Stack Overflow用户

发布于 2013-05-26 01:59:41

我想补充一下我的观点,我的经验。

(所以它不一定是你问题的答案)。我喜欢你/我们质疑我们自己的代码,我们自己的设计/架构--这是good的标志。糟糕的是,如果我们忽略了这一点...

有错误吗?

下面是一组应该遵循的规则:Best Coding Practices

其中之一是(提取):

Keep the code simple

程序员写的代码应该很简单。实现一件简单事情的复杂逻辑应该保持在最低限度,因为代码可能会在未来被另一个程序员修改。一个程序员实现的逻辑对另一个程序员来说可能不是完全有意义的。因此,请始终保持代码尽可能简单

换句话说:如果它看起来不是一个好的架构,它就不是。如果你不喜欢它,别人也不会喜欢它。

版本化,如何(建议)

好吧,下面我陈述了一些常见的方法,我们确实适用于版本控制。

  • 版本控制仅对业务对象有用(业务对象占域中所有对象的比例不应超过20% )。其他(CodeLists,如货币,国家...)不是versioned.
  • Each对象对它的树有自己的管理(CRUD操作)。在这种情况下,只有这个根对象是版本化的。例如,如果地址只能存在于人中,则在一次遍历(创建或修改人)期间存储两个对象。只有此人有

版本

就是这样。真的,没有比这更复杂的了。但我能理解如果这不能回答你的问题。我只是想在这次讨论中补充我的观点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16751756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档