Grails中的域类如何具有类似static constraints ={ }的变量?

我看不到任何直接继承。

我想这是元编程,但是您能解释一下吗?

最佳答案

在Grails域类中,没有扩展框架提供的基类,这与持久性实体在Hibernate中的工作方式一致。

还应注意,静态方法无论如何都不会被继承,也不会继承任何字段。映射变量和约束变量是在域类上声明的静态字段。继承不适用于此处。

Grails根据文件在项目结构中的位置知道哪些类是域类,服务, Controller 等。 Grails知道要在名为约束和映射的域对象中寻找静态变量。

这主要是利用约定,而不是元编程。元编程将涉及为那些闭包中的条目实现DSL,并将GORM方法添加到域类中。

关于grails - 域类变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29011688/

10-11 07:21