Grails中的域类如何包含static constraints ={ }
等变量?
我看不到任何直接继承。
我猜这是元编程,但你可以解释一下吗?
答案 0 :(得分:1)
在Grails域类中,不要扩展框架提供的基类,这与Hibernate中持久化实体的工作方式一致。
另请注意,静态方法无论如何都不会继承,并且没有字段可以继承。映射和约束变量是在域类上声明的静态字段。继承并不适用于此。
Grails根据文件在项目结构中的位置知道哪些类是域类,服务,控制器等。 Grails知道在名为constraints和mapping的域对象中查找静态变量。
这很好地利用了约定,而不是元编程。元编程将涉及为这些闭包中的条目实现DSL,以及将GORM方法添加到域类中。