gpt4 book ai didi

hibernate - 如何在gorm-hibernate中使用hasMany属性保存域

转载 作者:行者123 更新时间:2023-12-02 15:42:17 24 4
gpt4 key购买 nike

我有一个具有hasMany UserRoles的用户,但是当我尝试保存一个User和addToRole时,在保存期间出现验证错误,我无法理解原因。

class User ... {

static hasMany = [roles:UserRoles]


}

然后我有一个域UserRoles
class UserRoles ... {

Roles role
static belongsTo = [user: User]


UserRoles(Role r){
role = r
}


}

角色域看起来像这样
 class Role ... {


String name

Role(String name) {
this.name = authority
}


}

现在,当我尝试保存用户时

我有这样的代码
Role r = findRole()
user.addToRoles(roles: new UserRole(r))
user.save(flush:true, failOnError: true)


但它返回一个错误说
Field error in object 'com.api.v1.User' on field 'roles': rejected value [[Ljava.lang.String;@5871447d]; codes [com.api.v1.User.roles.typeMismatch.error,com.api.v1.User.roles.typeMismatch,user.roles.typeMismatch.error,user.roles.typeMismatch,typeMismatch.com.api.v1.User.roles,typeMismatch.roles,typeMismatch.java.util.Set,typeMismatch]; arguments [roles]; default message [Could not find matching constructor for: com.api.v1.UserRoles(java.lang.String)]

最佳答案

您输入的fct addToRoles()输入错误

Role r = findRole()
--//user.addToRoles(roles: new User(r))
//++
user.addToRoles(roles: r)
user.save(flush:true, failOnError: true)

关于hibernate - 如何在gorm-hibernate中使用hasMany属性保存域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55824637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com