GRAILS 生存环境

每种东西都有它适合的土壤。按照风水的观点,就是环境决定了一个人的发展。

作为新兴的GRAILS,他也有它的生存土壤,这个生存土壤是有它本身的特性所决定的。

关于优点,我这里不想再过于多说,因为只要是介绍GRAILS的文章里面都有,把一个现饭再炒来炒去不是我的风格。

我在这里直接指出其缺点。GRAILS的最致命的缺点就在于它的domain。

以我现在用的RC3版本为例,该版本的domain现在还不支持在domain文件夹下追加package。只有直接在domain目录下定义的class才会自动被GORM所识别。所以像目前这种快速开发的话,50个domain就是项目的上限。超过50个domain的项目就难于管理,domain的名称也会变得复杂。这个问题也许会在未来的版本中改进,但是从技术角度上分析,稍微还是有点难度。

首先,现有的代码中domain都是直接引用的,前面都没有加上package名称。如果允许加package,现有的遗留代码必然会有所改动。不过由于改动量不大,这一点不会成为主要的阻力。

另外,考虑到对数据库表的mapping,如果加上包名的话,数据库的表名会相当的长。所以极有可能要加上表名的mapping,才能实现自动mapping。

总之,如果要实现,必然会增加一些手工的设置。

另外,我们还发现,有些名称的domain有时候并不能mapping出对应的表。具体的原因我没有深究,所以没有发言权。但是这些domain一般会在改名之后,对应的表就会在数据库里面出现。

当然还有些多主键的问题,但我个人认为那些不是问题。稍后,我会专门阐述。

相关推荐