我正在寻找有经验的用户对 spring roo 和 appfuse 的反馈。您认为哪个更适合逆向工程数据库表并生成服务层、dao 层和 jpa 实体?
如果我没记错的话,spring roo 目前无法对数据库进行逆向工程。
我正在寻找有经验的用户对 spring roo 和 appfuse 的反馈。您认为哪个更适合逆向工程数据库表并生成服务层、dao 层和 jpa 实体?
如果我没记错的话,spring roo 目前无法对数据库进行逆向工程。
只是一个快速更新,以通知所有现在偶然发现此线程的用户(或至少在今天之后:));在新的 1.1.0 版本中,Spring Roo 现在确实支持开箱即用的增量数据库逆向工程。请参阅此发布公告。
作为对实际问题的评论:我不认为在实际的实体生成中两者中的任何一个都比另一个更好,但是除了实体生成之外,AppFuse 和 Spring Roo 之间当然存在很大差异。如果你真的需要 DAO,这是 AppFuse 中开箱即用的东西,部分放在 Spring Roo 中,但 Spring Roo 也有一个很棒的插件(Hades 插件)在这方面做得很好,也许甚至比 AppFuse 还要好。以我的拙见,选择 AppFuse 的主要原因是,如果您需要另一个 Web 框架(即 Wicket.Tapestry 或 JSF)作为前端,那么 Spring MVC 或 GWT,因为这些是 Spring Roo 中目前唯一受支持的 Web 框架(不过还有更多,比如 Flex 等)。
但是,如果您不介意 Eclipse(或者更好的是 Spring Tools Suite)并且确实想使用 GWT 和/或 Spring MVC,我会推荐 Spring Roo。以我的拙见,选择 Spring Roo 的主要原因是更高的生产力、更好的支持、更高的动力和活动、更低的学习曲线(用于快速生成 CRUD 应用程序),当然还有 Rails 之类的命令外壳,您可以从中快速设置和配置您的应用程序。
附言。请注意,我已经一年多没有积极使用 AppFuse,所以我对 AppFuse 的了解有点生疏。
Roo 很适合快速放置东西(往返是惊人的)..但是缺乏对服务层的开箱即用提供使我的需求陷入困境。我知道我可以按照文档中的说明进行@Services 注释并适当地放置代码(启动时工作量太大)。我希望 Roo 给了我一个选择,让我拥有一个 services+dao 层……开箱即用。那将(已经)/使 Roo 成为杀手级应用程序,恕我直言
您是正确的,您不能在 Roo 中对数据库进行反向工程。有一个开放的 JIRA 项目,你可以投票。
但是,您可以尝试使用Eclipse Hibernate 工具对数据库进行逆向工程,然后修改这些对象以使其成为 Roo 实体。不过,这可能会涉及大量的手工工作。
对于 AppFuse,有AppFuse Maven 插件,它可以从现有数据库为您创建整个 AppFuse 项目。我不确定它目前是否有效,因为我提到它的最后一个人说他们无法让它工作。
根据您的要求,您可能还想尝试一下Grails 框架。有一个名为GRAG的工具可以从数据库对 Grails 应用程序进行逆向工程。
ROO-435问题实际上是我们最需要的功能,因此我将在接下来的几周内在Spring Roo中实现它。同时,Jason 建议使用 Eclipse Hibernate 工具来创建 JPA 注释实体是一个与 Roo 完全兼容的直接解决方案。