使用ActiveRecord与Spring数据的Spring Roo

Eri*_* B. 1 activerecord spring-roo spring-data

我正在开始一个新的Spring项目,并决定试用Spring Roo.在设置持久层时,我看到Spring Roo支持(实际上甚至默认为)ActiveRecord模式.虽然我过去一直是DAO/DTO粉丝,但Roo使用ActiveRecord模式非常好,因为它似乎"隐藏"apsect文件中的大多数ActiveRecord方法.

有没有人知道为什么当Spring Data在提供/隐藏CRUD(典型的DAO模式)方面做得如此漂亮时,Spring Roo开发人员会默认ROO使用AR模式?Spring是否试图让更多人使用AR模式而不是Repo模式?

小智 6

我相信这是因为来自Rails/Ruby阵营的ActiveRecord范例显示了我们习惯的完整堆栈的替代方案.以下是Spring团队的建议:

我们删除了DAO层,因为创建大多数人正在尝试构建的典型Web应用程序并不是绝对必要的

值得观察的是,大多数现代RAD框架都避免使用DAO层并直接向实体添加持久性方法.如果您将类似的技术与Roo进行比较,您会发现避免使用DAO层是常见的,主流并且不会导致问题.

资料来源:http://static.springsource.org/spring-roo/reference/html/architecture.html#architecture-dao

也就是说,我已经将Roo与类应用程序层一起成功地使用了.优点是它感觉更"春天",并且由于我们可以删除Roo并内联所有IDT,因此长期维护可能更简单.

最近,我使用ActiveRecord方式,因为在使用存储库时Roo shell仍然不支持动态查找器.我不希望他们很快就能解决这个问题:https: //jira.springsource.org/browse/ROO-2694