2016-04-12 2 views
1

Ich habe eine Anwendung, die `Spring Daten 'verwendet.Transaktionale Löschungen in Spring Data machen?

Ich möchte sicherstellen, dass entweder beide Deletionen (Code unten) durchgeführt werden, oder für einen Rollback zu passieren.

Wie kann ich sicherstellen, dass die folgenden .delete() Methoden transactional sind?

@Service 
public class databaseService{ 

    //some code 


    public void deleteRows(){ 

    carRepository.delete(car); 
    personRepository.delete(person); 

    } 

} 

Antwort

2

Werfen Sie einen Blick auf die @Transactional Annotation.

+0

Ich habe es bei der Recherche gesehen, füge ich es einfach zu meiner obigen Methode hinzu? Können Sie bitte ein Beispiel geben – java123999

+0

Ja, Sie sollten es nur in der obigen Methode hinzufügen. Dies sollte normalerweise auf der Serviceebene Ihrer Anwendung geschehen, was hier der Fall zu sein scheint. Stellen Sie sicher, dass Sie keine verschachtelten Transaktionen verwenden, es führt jedoch zu einigen seltsamen Verhaltensweisen in meiner Erfahrung. –

+0

Was meinen Sie mit verschachtelten Transaktionen? Danke – java123999