двунаправленный o2m / m2o превосходит однонаправленный o2m по эффективности SQL? - PullRequest
2 голосов
/ 05 марта 2010

Используйте эти 2 постоянных ХФУ, например:

// Cat.cfc
component persistent="true" {
  property name="id" fieldtype="id" generator="native";
  property name="name";
}

// Owner.cfc
component persistent="true" {
  property name="id" fieldtype="id" generator="native";
  property name="cats" type="array" fieldtype="one-to-many" cfc="cat" cascade="all";
} 

Когда один-ко-многим (однонаправленный) Примечание: обратное = true для однонаправленного даст нежелательный результат :

insert into cat (name) values        (?)
insert into Owner default values
update cat set Owner_id=? where id=?

Когда один ко многим / много к одному (двунаправленный, обратный = true на Owner.cats):

insert into Owner default  values
insert into cat (name, ownerId) values (?, ?) 

Означает ли это, что установка двунаправленного отношения o2m / m2o предпочтительна, потому что SQL для вставки сущностей более эффективен?

1 Ответ

0 голосов
/ 13 октября 2010

«Предпочитаемый» сложен.

В то время как для «кошки» идея владельца по умолчанию не имеет смысла, она может подходить для ситуации на фабрике или в магазине, где после создания «продукта»по умолчанию это «местоположение» «фабрики».

...