我需要为我的grails web应用程序中的文章实现一个修订系统。在搜索grails论坛、堆栈溢出、grails插件和googling internet之后,我最终得到了3个选项:
选项1 -使用grails Envers插件(参见http://code.google.com/p/grails-envers-plugin/)。有人成功地使用过它吗?或者在没有插件的情况下使用恩弗斯 (参见这里),但是如何使它与GORM一起工作呢?
选项2 -使用Gvers插件,我在这里发现:https://github.com/ziftytodd/gvers。我从来没听说过有人在使用它,所以有没有人曾经成功地使用过它?
选项3 -构建了-in机制。已经为Weceem的任何内容创建了一个版本控制系统。我可以从这个伟大的应用程序的代码和设计的逻辑中汲取灵感,但这似乎有些过火,而且我不太喜欢使用非标准的解决方案。
所以我的问题,你建议我怎么做?你曾经使用过这些选项吗?
非常感谢你的见解。
发布于 2010-08-30 21:42:19
由于在我提出问题后的几天里没有得到任何答案,我们已经开始调查所有选项,并得出以下结果/结论:
底线
我当然会使用Gvers,但是如果您熟悉Git,或者如果您对GORM和Hibernate感到满意,可以选择构建一个大盘插件(基于GitE 230或E 131EnversE 232)。
发布于 2010-08-30 20:42:37
我在使用Hibernate的项目中使用了Envers,它工作得很好。GORM是基于Hibernate的,所以我认为它没有问题。
首先,您需要决定需要什么样的版本控制?您需要回滚对象图更改,还是需要处理某些字段?有时候,与其注入庞大的库,不如做一些小的本地实现。
如果您需要修改对象的图表,Envers是一个很好的选择。如果您需要修改一个字段,DIY :)
发布于 2011-10-31 17:31:00
卢卡斯·沃德插件工作。通过Grails 1.3.7确认,重要的是确保实体更新在事务中,因为envers依赖于它。只是提醒Grails控制器在默认情况下不是事务性的。
https://stackoverflow.com/questions/3564936
复制相似问题