Java Persistence API , eller JPA , är en viktig komponent i Java Enterprise Edition 5 ( Java EE 5 ) EJB 3.0-specifikationen , som styr Java uthållighet och förenklar dess effekt i en Java Standard Edition 5 ( Java SE 5 ) ansökan . Det låter dig också definiera en metod med vilken du kommer att kartlägga dina Java-objekt till relationsdatabas tabeller och ger dig friheten att lägga till , uppdatera och ta bort JPA objekt i ditt projekt . Instruktioner
1
Klistra in följande kod för att radera en JPA objekt från databasen . Detta är den " ta bort "-metoden :
Anställd anställd = em.find ( Employee.class , är bara ett av de sätt att radera en JPA objekt från din databas . När du begår denna transaktion , den fysiskt raderar enheten objektet från din databas . Men om du bestämmer dig för att behålla data , är allt du behöver göra avbryta transaktionen , eller inte posta det , för att hålla data intakt . Detta koncept är också kallad " explicit ta bort " metoden .
2
Klistra in koden nedan för att markera en referens fält med CascadeType.REMOVE , eller CascadeType.ALL , vilket inkluderar bORT , beroende på vad du föredrar , av en eller flera enheter som du vill ta bort :
@ Entity
class Employee {
:
@ OneToOne ( kaskad = CascadeType.REMOVE ) katalog
privat adress adress ,
:
}
grund av de negativa effekter av CascadeType . bORT metod , kommer varje " adress " instans av " Anställd " klassen i databasen tas bort efter att du tagga adressfältet som hänvisningar till den särskilda instans .
3
Klistra in efterföljande koden att aktivera en mer aggressiv " ta bort överlappande " -läget som använder orphanRemoval komponenten i @ OneToOne och @ onetomany anteckningar :
@ Entity
class Employee {
:
@ OneToOne ( orphanRemoval = true ) katalog
privat adress adress ,
:
}
I detta exempel orphanRemoval = true och kaskad = CascadeType.REMOVE är liknande , vilket gör CascadeType.REMOVE ett redundant sätt , därför att det inte kommer att ta bort något , . endast orphanRemoval funktionen kommer att utföra raderingen eftersom den är satt till " true " status