[Java lista] JPA 1.0 Kapcsoló tábla External Id-k

Szomor Attila aszomor at computertechnika.hu
2009. Nov. 27., P, 14:26:34 CET


Sziasztok,

Van egy szabványos kapcsoló tábla két tábla között nem a PK a kapcsoló,  
hanem unique key mező (más cég PK-ja)
class A {id, ..., ukA},  class B {id, ..., ukB} és class LinkAB { id, A, B  
}
TableLinkAB (id, fkA, fkB)

Ez jól működik:
---------------
  linkAB = new LinkAB();
  linkAB.setA(findAByUkA(uKeyValueA));
  linkAB.setB(findBByUkB(uKeyValueB));
  em.persist(linkAB);

Ez nem működik:
---------------
  linkAB = new LinkAB();
  linkAB.setA(new A());
  linkAB.setA().setUkA(uKeyValueA);
  linkAB.setB(new B());
  linkAB.setB().setUkB(uKeyValueB);
  em.persist(linkAB);

Miért kell find-al a komplett objektumot megkeresni, miért nem elég a  
kapcsoló mezőket kitölteni, ha az adatbázisban úgyis csak három ID van egy  
PK és két FK ?
Nagyobb legyen a CPU terhelés, vagy mi ... ért ?

Attila.
Veled vagyunk JPA !



További információk a(z) Javalist levelezőlistáról