Frage

Es ist notwendig, ein Feld auf den gleichen Wert in einem Haufen von Datensatz zu aktualisieren. Unter Verwendung der DAO / ORM Struktur, würde ich jede übergeordnete Objekt abrufen, Schleife durch jedes Kind-Objekt aktualisieren Feld ist, und speichern Sie es dann.

Es sei schneller, nur die SQL schreiben. Aktualisieren Tabelle Feld = Wert, bei den Kriterien = angegeben

Wie passe ich diese Dinge zusammen? Muß ich nur Stick mit der dao Struktur:

for (Table t : getTableDao().getTables()){  
  for(Child c : t.getChildren()){  
    c.setValue(1);  
    getChildrenDao().save(c);  
  }
}

Prost.

War es hilfreich?

Lösung

Generell sollte Massenupdates nicht getan werden, was man die „normalen ORM“ Art und Weise in Betracht gezogen werden, das ist, wie Sie beschreiben, durch jedes Objekt Looping.

Jeder vernünftige ORM hat einen Mechanismus für Sie eine normale SQL-Update-Anweisung auszuführen, wie Sie vorschlagen, und das ist in der Regel der richtige Weg, es zu tun.

Nur weil Sie ein ORM verwenden, bedeutet nicht, Sie nicht die Vorteile der relationalen, gestütztes System unter nehmen. Verwenden Sie Objekte, wenn Objekte sinnvoll und verwenden SQL, wenn SQL sinnvoll ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top