Я хочу добавить подписки в класс User, я делаю это, вызывая метод "addTo", вот мой код:
if (params.jobs == "on") {
user.addToSubscriptions(Category.findWhere(id: 1L))
} else {
user.removeFromSubscriptions(Category.findWhere(id: 1L))
}
"params" происходят из флажков, где пользователь можетподписаться на категорию, установив флажки.Код выше вызывается при отправке формы.Что не работает, так это когда пользователь меняет более 1 категории, думайте о том же коде, что и выше, с другим params.x, как это
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))
}
Что также происходит, только категория, которая является первой вкод добавляется и удаляется, все остальные выдают следующее исключение:
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
edit: строка, в которую выдается исключение, это та, которая не имеет смысла для меня: (
edit: Исключение выдается, когда я хочу добавить категорию, которая уже добавлена, но также не удаляется (это только для категорий, которые не обрабатываются первыми в коде, не спрашивайте меня, почему)
//reload page
redirect(action: "userSettings")
что я могу сделать? Пожалуйста, помогите! Большое спасибо заранее! Даниэль