2008-09-23 9 views

Antwort

16

NHibernate unterstützt standardmäßig optimistische Parallelität. Pessimistische Nebenläufigkeit kann andererseits durch die ISession.Lock() Methode erreicht werden.

Diese Fragen werden im Detail in this document diskutiert.

+0

Danke Jon für die schnelle Antwort :-) –

+3

Transaktionen und Concurrency Dokumente jetzt hier: http://nhforge.org/doc/nh/en/index .html # Transaktionen –

+0

Docs jetzt hier: http://nhibernate.info/doc/nh/en/index.html#transactions –

22

NHibernate unterstützt zwei Arten optimistischer Parallelität.

Sie können entweder schmutzige Felder überprüfen lassen, indem Sie das Attribut "classic" in Ihren Mapping-Dateien mit dem Attribut "optimistic-lock = dirty" versehen oder "optimistic-lock = version" verwenden (was auch der Standardwert ist). . Wenn Sie die Version verwenden, müssen Sie in Ihrer Zuordnungsdatei ein Element "Version" angeben, das einem Feld in Ihrer Datenbank zugeordnet ist.

Version kann vom Typ Int64, Int32, Int16, Ticks, Zeitstempel sein, oder Timespan und wird beim Speichern automatisch erhöht. Weitere Informationen finden Sie unter Chapter 5 in der NHibernate-Dokumentation.

+3

Kapitel 5 der docs jetzt hier: http://nhforge.org /doc/nh/de/index.html#mapping –

2

Sie können die Versionsnummern auch "nur" manuell vergleichen (vorausgesetzt, Sie haben Ihrer Entität eine Version-Eigenschaft hinzugefügt).

Klar Optimistisch ist die einzige vernünftige Option. Manchmal müssen wir natürlich mit verrückten Szenarien umgehen ...

Verwandte Themen