Как я могу избежать увеличения verion путем добавления отношений? - PullRequest
0 голосов
/ 19 мая 2011

У меня есть следующая схема класса домена:

class A { static hasMany=[abRelations: AB] }
class B { static hasMany=[abRelations: AB] }
//relation table
class AB{
 A a
 B b
 String someAttribute
}

в некоторых случаях мне определенно нужна ассоциация abRelations, например, hql запросы, критерии, ...

моя проблема в том, что когда я создаю новую запись AB с

new AB(a: a, b: b, someAttribute: "hello").save()

поле версии A и B увеличивается. Могу ли я избежать этого, добавив специальный параметр сопоставления или что-то вроде этого? Я использую событие afterUpate в некоторых классах, и это событие также вызывается при добавлении новых отношений -> это моя главная проблема!

Ответы [ 2 ]

0 голосов
/ 19 мая 2011

Если вы не хотите, чтобы версии A и B были увеличены, сохраняйте однонаправленные отношения, чтобы A и B не знали об отношениях AB.

0 голосов
/ 19 мая 2011

Вы можете полностью удалить поле версии, добавив следующее к классу домена

static mapping = {
  version false
}

Насколько я понимаю, нет возможности осуществлять детальный контроль над приращением поля version.У вас либо есть поле version, и оно автоматически увеличивается каждый раз при обновлении объекта домена, либо у вас его вообще нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...