0
之前保存我有以下的域非空属性引用瞬态值 - 瞬态的实例必须当前操作
class User {
Boolean accountLocked
String password
Boolean passwordExpired
Boolean enabled
String username
String name
String surname
String gender
String urlPicture
String cellphone
String address
Integer pc
String permission
String email
Date created
Boolean accountExpired
static hasMany = [customerOnlines: CustomerOnline,
partners: Partner,
roles: Role,
salesmans: Salesman,
subsidiaries: Subsidiary]
static mapping = {
tablePerHierarchy false
id generator: 'identity'
table '`user`'
password column: '`password`'
email unique: true
}
static constraints = {
accountLocked nullable: true, default: false
password nullable: true
passwordExpired nullable: true, default: false
enabled nullable: true, default: true
username nullable: true, maxSize: 45
name nullable: true, maxSize: 45
surname nullable: true, maxSize: 100
gender nullable: true, maxSize: 15
urlPicture nullable: true
cellphone nullable: true, maxSize: 50
address nullable: true
pc nullable: true
permission nullable: true
created nullable: true
accountExpired nullable: true, default: false
}
class Subsidiary {
String subsidiaryName
Date dob
User user
static hasMany = [partners: Partner,
phones: Phone,
salesmans: Salesman]
static belongsTo = [Partner, User]
static mapping = {
id generator: "identity"
version false
}
static constraints = {
subsidiaryName nullable: true, maxSize: 100
dob nullable: true
}
的问题是试图创建一个新的子公司
def save(Subsidiary subsidiary) {
System.out.println(params)
def usuario = new User(name:params.name,surname:params.surname,address:params.address,cellphone:params.cellphone,gender:params.gender,username:params.username,password:params.password,pc:params.pc)
usuario.save flush:true
def subsidiaria= new Subsidiary(name:params.namesub,user:usuario)
subsidiaria.save flush:true
request.withFormat {
form multipartForm {
flash.message = message(code: 'default.created.message', args: [message(code: 'subsidiary.label', default: 'Subsidiary'), subsidiary.id])
redirect view: 'create'
}
'*' { respond subsidiary, [status: CREATED] }
}
}
我得到错误非空属性引用subsidiaria.save flush:true
上的空值或瞬态值,但我无法找到问题,即使我使用usuario.addToSubsidiaries(subsidiaria).save()
它仍然不工作,并且 一直给我同样的错误。