Grails 的 constraints 可以继承吗?

我们都知道 Grails 使用 GORM 项目来定义实体类(Domain Class),并且可以给 Domain Class 添加约束,例如字段是否可null,最大长度多少等等,还可以自定义 validator 来实现对特定规则的检查。

同时 GORM 支持 Domain Class 的继承,默认情况下会用 hierarchy in table 的方式实现,就是将所有类都用一张数据库表来定义,通过 class 字段区分记录(代表一个实体对象)所属的类。

那么能否在父类和子类中定义不同的 constraints ,让约束只针对特定的类生效呢?具体来说就是父类中定义的约束,在子类中也有效,但在子类中定义的约束对父类无效,对兄弟类也无效。

这需要试验,更进一步查看 GORM 的实现代码来确认。

通过实验,发现 constraints 是可以继承的,父类中写父类属性的 constraints,子类中不要写以免覆盖父类的定义;
子类中写子类特有的属性的constraints,这样分工即可。mapping 也是一样的编写方式。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值