Grails中的域类如何具有类似static constraints ={ }
的变量?
我看不到任何直接继承。
我想这是元编程,但是您能解释一下吗?
最佳答案
在Grails域类中,没有扩展框架提供的基类,这与持久性实体在Hibernate中的工作方式一致。
还应注意,静态方法无论如何都不会被继承,也不会继承任何字段。映射变量和约束变量是在域类上声明的静态字段。继承不适用于此处。
Grails根据文件在项目结构中的位置知道哪些类是域类,服务, Controller 等。 Grails知道要在名为约束和映射的域对象中寻找静态变量。
这主要是利用约定,而不是元编程。元编程将涉及为那些闭包中的条目实现DSL,并将GORM方法添加到域类中。
关于grails - 域类变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29011688/