以下Groovy代码在写入grails-app / domain / Foo.groovy时创建一个名为Foo的GORM持久域类:
class Foo {
String someField
}
但是,如果我改为编写“public class Foo”,则该类不会保持GORM持久化(即没有注入save()方法,也没有创建数据库表等):
public class Foo {
String someField
}
我正在运行最新的Grails(1.1)稳定版本。
问题:这是一个错误还是预期的行为?为什么呢?
更新#1:相关子问题:我是唯一一个遇到此问题的人吗?很高兴知道其他人是否能够复制这个。谢谢!
答案 0 :(得分:1)
答案 1 :(得分:1)
Groovy类默认是公共的(同样适用于Groovy方法),因此如果添加public
,行为应该没有变化。但是,我无法在Grails 1.1.1
答案 2 :(得分:0)
我在1.3.3上没有得到这种行为
检查DomainClassArtefactHandler.groovy中的“isDomainClass”方法。你会看到(至少在1.3.3中)排除的唯一类型是闭包和枚举