2009-12-26 112 views
6

我在寻找有经验的用户对spring roo和appfuse的反馈。你认为哪一项能更好地逆向工程数据库表并生成服务层,dao层和jpa实体?spring roo vs appfuse生成服务/ dao层

如果我没有弄错,spring roo目前无法对数据库进行反向工程。

回答

1

你是对的,你不能在Roo中对数据库进行反向工程。有an open JIRA item for this你可以投票了。

但是,您可以尝试使用Eclipse Hibernate tools对您的数据库进行逆向工程,然后修改这些对象以使其成为Roo实体。这可能会涉及很多手动工作。

对于AppFuse,有AppFuse Maven plugin可以从现有数据库为您创建整个AppFuse项目。我不确定它目前是否正在工作,因为我提到的最后一个人说他们无法正常工作。

根据您的要求,您可能还想试试Grails framework。有一个名为GRAG的工具,可以从数据库中对Grails应用程序进行逆向工程。

1

ROO-435问题实际上是我们最需要的功能,所以我将在接下来的几周内在Spring Roo中实施。与此同时,Jason建议使用Eclipse Hibernate工具创建JPA注释实体,这是一个完全与Roo兼容的即时解决方案。

2

Roo是很好的快速搭建的东西(往返是惊人的)..但是缺乏开箱即用的服务层提供了我的需求。我知道我可以做@Services注释,并按照文档中提到的方式正确放置代码(启动时工作太多)。我希望Roo给了我一个选择,即有一个服务+ dao层......开箱即用。 这将(作出)/让Roo成为一款杀手级应用程序,IMho

3

只是一个快速更新,以通知所有用户现在(或至少在今天:)之后偶然发现此线程);有了新的1.1.0版本,Spring Roo现在确实支持开箱即用的增量数据库逆向工程。请参阅此版本annoucement

作为对实际问题的评论:我并不认为两者中的任何一个在实际实体代中都比另一个更好,但除了实体之外,AppFuse和Spring Roo之间存在很大差异代。如果你真的需要DAO的话,那么这是AppFuse中的开箱即用功能,并且部分用于Spring Roo,但对于在这方面做得很好的Spring Roo(Hades插件)也有一个很好的插件,或许甚至比AppFuse更好。在我看来,如果你需要另一个Web框架(例如Wicket,Tapestry或JSF)作为前端,那么Spring MVC或GWT就是AppFuse的主要原因,因为它们是Spring Roo中唯一受到良好支持的Web框架(虽然更多,如Flex等)。你可能会选择AppFuse的其他原因是,如果你想使用一个具有完整智能感知和代码完成支持的IDE,但不想使用Eclipse(你可以使用其他IDE,并且与Spring Roo完美兼容,但是由于到Netbeans无法识别的AspectJ文件,其他IDE的Eclipse当前不会为Spring Roo生成/管理的文件完成代码完成)。但如果你不介意Eclipse(甚至更好,即使是Spring Tools套件)并且想使用GWT和/或Spring MVC,我也会推荐Spring Roo。我认为,Spring Roo的主要理由是,更高的生产力,更好的支持,更高的动力和活动,更低的学习曲线(适用于快速CRUD应用程序生成),当然还有像命令外壳的Rails,您可以从中快速设置和配置您的应用程序。

Ps。请注意,我没有积极使用AppFuse一年多,所以我对AppFuse的了解有点生疏。