java - Grails framework method addTo throws exception on multiple invoke -


i want add subscriptions user class, invoking "addto" method, here code:

if (params.jobs == "on") {         user.addtosubscriptions(category.findwhere(id: 1l))     } else {         user.removefromsubscriptions(category.findwhere(id: 1l))     } 

the "params" come checkboxes, user can subscribe category setting checkboxes. code above invoked when form submitted. doesn't work when user changes more 1 categories, think of same code above different params.x, this

    if (params.offers == "on") {         category cat = category.get(2)         if (!user.subscriptions.contains(cat))         user.addtosubscriptions(category.findwhere(id: 2l))//needs long variable     } else {         user.removefromsubscriptions(category.findwhere(id: 2l))     } 

what happens category wich first in code gets added , removed, other throw following exception:

org.hibernate.exception.genericjdbcexception: not execute jdbc batch update 

edit: line in wich exception thrown 1 tho, wich makes no sense me :(

edit: exception gets thrown when want add category, wich added, doesnt removed. (thats categories not handled first in code, dont ask me why)

     //reload page     redirect(action: "usersettings") 

what can do? please help! lot in advance! daniel

is possible trying remove category not associated user? know... user has no category id = 2 , sent params.offers == "off" ?

maybe should like:

if (params.jobs == "on") {     user.addtosubscriptions(category.findwhere(id: 1l)) } else {     category cat = category.get(2l)     if (user.subscriptions.contains(cat)) {         user.removefromsubscriptions(cat)     } } 

few tips: if have id, don't use:

category.findwhere(id:1l)  

but:

category.get(1l) 

the error thrown on line pasted, because last line of controller, after line yout transaction committed error thrown.

try adding code controller:

user.save() user.errors?.allerrors?.each { println } 

this print errors happened during save.


Comments

Popular posts from this blog

linux - Using a Cron Job to check if my mod_wsgi / apache server is running and restart -

actionscript 3 - TweenLite does not work with object -

jQuery Ajax Render Fragments OR Whole Page -