2009-03-25 8 views
2

Wenn ich den folgendenHibernate Rollbacks

session.getTransaction() rollback().

ist es dann ok/möglich, den Aufruf von save/update/delete usw. auf demselben Session-Objekt zu starten? Die Antwort dazu finden Sie in der Hibernate Session/Transaction API oder in der Hibernate-Referenzdokumentation.

Oder empfehlen Sie mir, das Session-Objekt zu schließen, eine neue Session zu öffnen und eine neue Transaktion zu beginnen?

Antwort

3

Ich sage, schließen Sie die Sitzung und öffnen Sie eine neue. Hibernate ist nicht dafür bekannt, Fehler über den Missbrauch seiner Sitzungen zu verzeihen. Es kann die Leistung ein wenig verletzen, aber es wird wahrscheinlich einen Fehler auf der Straße verhindern.

Yuval = 8-)

0

Ich bin mir nicht sicher, ob dies aus Sicht der Datenbank möglich/ratsam ist, aber das Schreiben atomaren Codes ist so viel besser für die Lesbarkeit. Sie können sogar die Struktur einer Vorlagenmethode wiederverwenden, um die Verdrahtungen um Ihre Transaktion zu vergessen.