- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我意识到 Morphia 和 Hibernate 等持久性框架依赖于域对象上的注释来发挥作用。在某种程度上,在我看来,这是将持久性问题插入到域层中,这是我们应该努力避免的。
我是否应该尝试通过使用外部配置文件或将 DTO 从域模型中分离出来来避免这种情况?或者,持久层和域层之间的这种小泄漏通常被认为是可以接受的吗?
最佳答案
在我对使用 Spring 和 Hibernate 的现有系统的最新迭代中,我已经开始处理类似的问题。在第一次实现 Hibernate 模型时,我努力通过数据访问对象将服务类中的应用程序逻辑与持久性逻辑分开。去年构建新系统时,我允许大部分持久性对象作为域对象,因为这是权宜之计。
但是,我正在根据不断变化的业务需求重新设计相同的系统,并且我再次倾向于分离这些关注点。我才刚接触新设计几天,但我发现自己更喜欢有一个代表内存中关注对象的对象,而使用一个单独的基于持久性的对象将其状态更改存储到数据库中。例如,我有一个用于持久性的 Lead
和一个跨事务存在的并行 ActiveLead
。
我还不相信这是最好的方法,但在直觉层面上它是有道理的。我一直渴望拥有一组与持久性无关——不,持久性——无知——在数据库事务中保持内存驻留的对象集合,而不考虑标准的 CRUD 简化。然而我知道最终所有的数据库操作都是作为 CRUD 实现的。这两个世界必须碰撞,而诀窍在于让它们和谐共舞。
域对象上的 hibernate 注释?在我看来,这是易于实现与易于维护之间的良好折衷。
关于java - 域对象中的持久性注释是一种不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10099636/
如果您想分享更多信息,可以在这里找到整个资源 指针: https://github.com/sergiotapia/DreamInCode.Net 基本上,我的API将为其他开发人员提供
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我不是 SCM 工具的经验丰富的用户,尽管我确信它们的用处,当然。 我在以前的工作中使用了一些不起眼的商业工具,在当前的工作中使用了 Perforce,并在我的小型个人项目中使用了 TortoiseS
所以我想知道一些我应该避免在 javascript 中做的事情以获得良好的 SEO 排名。在我的下一个站点中,我将广泛使用 jquery 和 javascript,但不想牺牲 SEO。那么您认为我应该
基本上,我想知道什么是避免 future CSS 代码出现问题和混淆的最佳方法... 像这样命名 CSS 属性: div#content ul#navigation div.float-left (真
我是一名优秀的程序员,十分优秀!