Java Persistence API , eller JPA , er en viktig komponent i Java Enterprise Edition 5 ( Java EE 5 ) EJB 3.0-spesifikasjonen , som kontrollerer Java utholdenhet og forenkler dens effekt i en Java Standard Edition 5 (Java SE 5 ) søknad. Den lar deg også definere en metode der du vil kartlegge dine Java-objekter til relasjonsdatabase tabeller og gir deg friheten til å legge til, oppdatere og slette JPA gjenstander i prosjektet. Instruksjoner
en
Lim inn følgende kode for å slette en JPA objekt fra databasen. Dette er " remove "-metoden : en
Employee ansatt = em.find ( Employee.class , er bare en av måtene å slette en JPA objekt fra databasen. Når du begår denne transaksjonen , det fysisk sletter foretaket objekt fra databasen . Men bør du bestemmer deg for å beholde dataene , alt du trenger å gjøre avbryte transaksjonen , eller ikke legge det ut , for å holde data intakt . Dette konseptet er også referert til som " eksplisitt fjerne " metoden.
2
Lim koden nedenfor til å merke en henvisning felt med CascadeType.REMOVE , eller CascadeType.ALL , som inkluderer fJERN , avhengig av hva du foretrekker , i foretaket eller enheter du ønsker å fjerne : en
@ Entity
class ansatt {
:
< p> @ OneToOne ( kaskade = CascadeType.REMOVE )
privat adresse adresse ;
: en
}
grunn av den gjennomgripende effekt av CascadeType . FJERN metoden, vil hver " Address" forekomst av "Employee " class i databasen slettes etter at du merker adressefeltet at referanser til det konkrete tilfellet .
3
Lim lykkes koden å aktivere en mer aggressiv "remove brusende "-modus som bruker orphanRemoval del av @ OneToOne og @ OneToMany merknader : en
@ Entity
class ansatt {
:
@ OneToOne ( orphanRemoval = true )
privat adresse adresse ;
: en
}
I dette eksempelet orphanRemoval = true og kaskade = CascadeType.REMOVE er like, noe som gjør CascadeType.REMOVE en redundant metode , derfor det ikke vil slette noe ; . bare orphanRemoval funksjonen vil utføre slettingen fordi den er satt til "true " status