All pastes #810891 Raw Edit

Someone

public text v1 · immutable
·published 2007-12-10 11:55 UTC
rendered paste body
// X une classe
// Attached = instance en cache, non éditable
// Detached = éditable

X a = new X();            // a detached
DA.save(c);               // a attached
X b = DA.getEditable(a);  // a attached, b detached
DA.save(b);               // a detached, b attached
DA.delete(b);             // a detached, b detached
DA.save(b);               // a detached, b attached
DA.delete(a);             // 1: réattache a => a attached, b detached ; 2: delete de l'objet => a detached, b detached


// Edition thread-safe un objet
X a = DA.getX(x);           // a attached

synchronized (a) {          // Pose un lock sur a, d'autres blocs qui veulent travailler sur a synchronisés avec synchronized (a) devront attendre la fin de la modification et récuperont ainsi la dernière version de l'objet
  X b = DA.getEditable(a);  // a attached, b detached
  b.setY(y);
  DA.save(b);               // a detached, b attached ; les prochains DA.getX(x) renveront b
}