- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个简单的hasMany关联-一个UserGroup hasMany Users,而该UserGroup由一个User拥有:
class UserGroup {
String name
User owner
Set members = []
static hasMany = [members: User]
...
}
name unique: 'owner'
def beforeInsert() {
boolean existing = false
UserGroup.withNewSession {
existing = UserGroup.where {
owner == this.owner && name == this.name
}.count() > 0
}
if (existing) {
this.errors.rejectValue(...)
}
return !this.hasErrors()
}
最佳答案
beforeInsert上的代码应该在自定义验证器上,但是它正在检查唯一名称,因此正确的约束应该只是名称唯一:true(不确定唯一名称:'owner'的名称,因为它无效,所以值应该与规范boot一样https://docs.grails.org/latest/guide/validation.html)
而且,如果您希望组中的用户以级联方式保存,则可以在docs https://docs.grails.org/latest/ref/Database%20Mapping/cascade.html上指定的映射字段中指定
如果自定义验证器失败,或者仅唯一验证器失败,则不应执行级联保存/更新。
关于hibernate - Grails 3 beforeInsert()没有停止关联的插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41244173/
我有一个 Grails 2.2.1 项目,其域名名为“Question”。在此域中,beforeinsert() 目前如下所示: def beforeInsert() { dateCreate
我有一个简单的hasMany关联-一个UserGroup hasMany Users,而该UserGroup由一个User拥有: class UserGroup { String name
给定这样的域星座: abstract class A { def myService def beforeInsert() { myService.doIt()
我想自动设置我的 DomainClasses 的 modifiedBy 和 createdBy 属性。 为此,我将 Bootstrap.grooy 更改为: import org.codehaus.g
在旧的 Grails 版本中,我们在域类中有这些 beforeUpdate、beforeInsert、beforeSave 事件。 我在 Grails 3.x 中找不到它们了 - 我现在如何轻松处理这
我在我的应用程序中使用 grails 版本 2.1.0,我在我的域类中有一个 before 插入,它对密码进行如下编码。 包 com.valuelabs.bets.security 类 SecUser
我们公司使用的大多数域对象都会有一些共同的属性。这些代表创建对象的用户、最后更新对象的用户以及他们用来执行此操作的程序。 为了DRY 的利益退出我的域类后,我想找到某种方法将相同的 beforeIns
我是一名优秀的程序员,十分优秀!