org.springframework.transaction.annotation.Transactional vs javax.jdo.annotations.Transactional
Frage
Wenn der Frühling mit @Transcational
auf Service-Layer, ich muß <annotation driven>
auf XML-Datei setzen.
Ich möchte wissen,
-
Kann
javax.jdo.annotations.Transactional
auf Service-Layer verwendet werden, wie Frühling tut? Ohne dass XML-Dateien zu konfigurieren. etc? -
Kann
javax.jdo.annotations.Transactional
auf Service-Layer unabhängig verwendet werden, ob ich Hibernate / JPA / jdo an der dao Schicht? Muß ich andere Dinge konfigurieren neben Methoden mit@Transactional
Kennzeichnung? -
Gibt es Unterschiede / Einschränkungen zwischen
javax.jdo.annotations.Transactional
undorg.springframework.transaction.annotation.Transactional
?
Lösung
Haben schauen Sie auf die javadoc? Das ist, was ich lese über javax.jdo.annotations.Transactional
:
Annotation, um anzuzeigen, dass ein Element (Feld oder eine Eigenschaft) ist transaktionale aber nicht persistent. Dies entspricht xml Persistenz-Modifikator = „transaktionale“ von „Feld“ und „Eigenschaft“ Elementen zuschreiben.
Dies scheint nicht vergleichbar mit dem @Transactional
Anmerkung von Frühling.
Beschreibt Transaktion auf einer Attribut Methode oder Klasse.
Diese Anmerkung Typ ist im Allgemeinen direkt vergleichbar mit Spring RuleBasedTransactionAttribute Klasse, Und tatsächlich AnnotationTransactionAttributeSource werden die Daten direkt an die umwandeln letztere Klasse, so dass Spring Transaktionsunterstützung Code nicht über Anmerkungen zu kennen. Wenn keine Regeln , Relevant für die Ausnahme ist, wird es behandelt werden, wie DefaultTransactionAttribute (Roll zurück zur Laufzeit Ausnahmen).
Also, beantwortet Ihre Fragen:
kann weiß, dass ich
javax.jdo.annotations.Transactional
auf Service-Layer verwendet werden, wie Frühling tut? keine XML-Dateien konfiguriert werden müssen. etc?
Nein.
kann
javax.jdo.annotations.Transactional
auf Dienstschicht auf unabhängig verwendet werden, ob i Hibernate / JPA / jdo an der dao Schicht? konfigurieren müssen andere Dinge neben Markierungsmethoden mit@Transactional
?
Nein. Siehe oben.
anders / Begrenzung zwischen
javax.jdo.annotations.Transactional
undorg.springframework.transaction.annotation.Transactional
?
Ja. Eine davon ist ein Apfel, der andere eine Orange.