Ich habe eine Methode geschrieben in einem Grails-Dienst, der eine Menge Daten verarbeitet.
Ich habe festgestellt, dass manchmal die Methode Erfolg zurückgibt, aber die Daten nicht in der Datenbank gespeichert werden.Wie kann man wissen, ob Daten während der Datenbanktransaktion nach dem Zurückgeben der Methode erhalten wurden?
Ich debuggte es, alle Daten bis zum Ende der Methode und alles ist in Ordnung, aber Daten werden nicht beibehalten.
Das folgende Bild zeigt das, was ich gerade erklärt habe. Sie können das Ende der Methode sehen, in der ein Map-Objekt mit persistenten Objektmetadaten gefüllt ist. Auch können Sie die Konsole sehen, die die printend enthält Hibertate SQL
Wie kann ich erkennen, ob ein Rollback-Mechanismus nach der erfolgreichen Methode Rückkehr geworfen wird?
Dies ist meine Verbindungseigenschaften für Oracle 12c-Datenbank. Andere Konfigurationen sind Grails defaults
dataSource.pooled=true
hibernate.jdbc.use_get_generated_keys=true
hibernate.cache.use_second_level_cache=true
hibernate.cache.use_query_cache=false
hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
dataSource.driverClassName=oracle.jdbc.driver.OracleDriver
dataSource.dialect=org.hibernate.dialect.OracleDialect
dataSource.url=jdbc:oracle:thin:@172.16.1.20:1521:db
dataSource.username=<USER>
dataSource.password=<PASS>
hibernate.default_schema=<SCHEMA>
Der Service als @Transactional
@Transactional
class SincronizacionService {
}
Jede Idee anotated ist?
Ich habe gerade den Fragetitel bearbeitet, also vielleicht gibt es ein besseres Verständnis davon – lealceldeiro
Wahrscheinlich mit Ihrem _setup_ müssen Sie das Commit auf die Transaktion manuell aufrufen. Können Sie Ihre überwachte Konfiguration teilen? Welchen Transaktionsmanager benutzen Sie? In welcher Umgebung bist du? – gtosto
Der Code gehört zu einer Grails-Anwendung. Ich habe die Frage mit meiner benutzerdefinierten Konfiguration bearbeitet. Dies geschieht in allen Umgebungen [Entwicklungen | Test | Produktion]. Der Dienst ist mit @Transactional zu –