I have two domain classes:
class Domain1 {
String val11
String val12
Domain2 domain2
static constraints = {
}
}
class Domain1Controller{
/**
* Create new Domain1 entity instance
*/
def create = {
def domain1 = new Domain1()
def domain2 = Domain2.get(params.domain2)
if(domain2!=null){
domain1.domain2 = domain2
}
domain1.properties=params
domain1.save(flush: true)
String strJson = (domain1 as JSON)
render strJson
}
/**
* Update Domain1 entity fields values
*/
def update = {
Domain1 domain1 = Domain1.findById(params.id)
params.remove("id")
if (domain1 != null) {
domain1.properties=params
domain1.save(flush:true)
String strJson = (domain1 as JSON)
render strJson
}
}
}
class Domain2 {
String val21
String val22
static constraints = {
}
}
class Domain2Controller{
/**
* Create new Domain2 entity instance
*/
def create = {
def domain2 = new Domain2()
domain2.properties=params
domain2.save(flush:true)
String strJson = (domain2 as JSON)
render strJson
}
/**
* Update Domain2 entity fields values
*/
def update = {
Domain2 domain2 = Domain2.findById(params.id)
params.remove("id")
if (domain2 != null) {
domain2.properties=params
domain2.save(flush: true)
String strJson = (domain2 as JSON)
render strJson
}
}
}
My problem is when I create asso开发者_Python百科ciated objects,I cannot update domain1.
I think reason maybe in save()
method... maybe not
Is there anyone who know why I cannot update Domain1 properties ?
I use grails-1.3.2 and hbase-0.2.4 plugin.
P.S. hbase does not understand mapping..
Thanks for help.
Given the exception you provided in the comment, I think the problem is the line where You call domain1.properties=params
. Domain properties map contain some specific keys, and when you assign params
map to it, those specific (ie. class
property here) are missing, so GORM cant access them.
Use bind() method to bind parameter values to your domain object this way:
def domain1 = new Domain1()
bind(domain1, params)
def domain2 = Domain2.get(params.domain2)
if(domain2!=null){
domain1.domain2 = domain2
}
domain1.save(flush: true)
精彩评论