Grails - несколько belongsTo того же класса с каскадным удалением

Вы не опубликовали свой код, и я подозреваю, что Вы делаете что-то не так. возможно изменить размер путем присвоения атрибутов ширины и высоты с помощью чисел:

canvasNode.width  = 200; // in pixels
canvasNode.height = 100; // in pixels

, По крайней мере, это работает на меня. Удостоверьтесь, что Вы не присваиваете строки (например, "2 см", "3 дюйма" или "2.5 пкс"), и не смешиваете со стилями.

На самом деле это - общедоступное знание — можно считать все об этом в спецификация холста HTML — это является очень маленьким и необычно информативным. Это - целый интерфейс DOM:

interface HTMLCanvasElement : HTMLElement {
           attribute unsigned long width;
           attribute unsigned long height;

  DOMString toDataURL();
  DOMString toDataURL(in DOMString type, [Variadic] in any args);

  DOMObject getContext(in DOMString contextId);
};

, Как Вы видите, это определяет 2 атрибута width и height, и они оба unsigned long.

7
задан 3 September 2009 в 16:41
поделиться

2 ответа

Вы можете добавить хук beforeDelete к классу Person и запросить другого родителя. Если другой родитель не существует, вы можете удалить связь. Обратите внимание, что вы сталкиваетесь с нарушениями внешнего ключа, потому что вам, вероятно, нужно удалить обоих родителей, поскольку отношение имеет FK для них обоих.

1
ответ дан 7 December 2019 в 20:37
поделиться

Вы также можете определить 2 Relationshipcollections в Person

incomingRelations и outgoingRelations кажутся полезными словами для различения (если применимо к вашему домену).

Вы можете определить временные отношения свойств с помощью геттера только, который возвращает объединение обеих коллекций отношений (неизменяемый, чтобы не изменять его / эти изменения, скорее всего, не имеют смысла)

class Person {
   Relationship incomingRelations
   Relationship outgoingRelations
   static mappedBy = [incomingRelations:'p1', outgoingRelations:'p2']

   static transients = ['relations']

   Set getRelations() {
       //creates a new collection as union of the old ones
       return Collections.unmodifiableSet(this.incomingRelations + this.outgoingRelations)
   }
}
class Relationship {
    static belongsTo = [p1:Person, p2:Person]
}

, если не подходит, я бы попробовал равномерный подход, предложенный Miguel-Ping

0
ответ дан 7 December 2019 в 20:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: