2017-06-19 7 views
0

Bitte kann mir jemand helfen.Löschen Sie ein Objekt mit Jpa entfernen

ManagedBean

public Customer deleteCustomer(Customer customer){ 
    BookstoreManager.getInstance().deleteCustomer(customer); 
    System.out.println("Customer deleted" + customer.getFirstName()); 
    return null; 
} 

Geschäft Logik

public Customer deleteCustomer(Customer deletedCustomer) { 
    try { 
     em.getTransaction().begin(); 
     Customer customer = new Customer(); 
     em.remove(customer); 
     em.getTransaction().commit(); 
    } catch (Exception e) { 
     em.getTransaction().rollback(); 
     e.printStackTrace(); 
     System.out.println("Hello from delete"); 
    } 
    return null; 
} 

Fehlermeldung

Info: HHH000114: Umgang mit transienter Einheit in Löschverarbeitung

+0

Warum sind Sie einen neuen Kunden in Ihrem DeleteCustomer Methode instanziiert? dies verursacht den Fehler, übergeben Sie einfach die in Methode –

+0

Ihre Antwort war die Lösung. Danke Abass A. –

Antwort

0

Meinst du em.remove(deletedCustomer);?

public Customer deleteCustomer(Customer deletedCustomer) { 
    try { 
     em.getTransaction().begin(); 
     em.remove(deletedCustomer); 
     em.getTransaction().commit(); 
    } catch (Exception e) { 
     em.getTransaction().rollback(); 
     e.printStackTrace(); 
     System.out.println("Hello from delete"); 
    } 
    return null; 
} 

Sie können nur eine Entität mit Statusverwaltung entfernen. enter image description here

Quelle http://www.objectdb.com/java/jpa/persistence/managed

+0

Danke für Ihre Hilfe Jklee. –

+0

Gern geschehen. – jklee

Verwandte Themen