View
2
Download
0
Category
Preview:
Citation preview
i n f
o r
m a
c i j s
k i
i n
že
n j e
r i n
g
PERZISTENCIJA PODATKA U JAVI
Ivan SenjiMario Popović
Rovinj, 13.–17. listopad 2009.
Perzistencija podataka u Javi
2
Sadržaj
Perzistencija podatkaJDBCObjektno-relacijsko preslikavanjeAlati za objektno-relacijsko preslikavanjeJPAPrimjerPitanja
Perzistencija podataka u Javi
3
Perzistencija podataka
Perzistencija – svojstvo podatka da nadživi izvođenje programa koji ga je stvorio
Perzistencija podataka u Javi
4
JDBC
JDBC (engl. Java Database Connectivity) API je standard za povezivanje Java programskog jezika i baze podataka
JDBC API omogućuje:• uspostavljanje veze sa bazom podataka• slanje SQL upita• procesiranje rezultata
Perzistencija podataka u Javi
5
JDBC
Nedostaci JDBC:
• kod korištenja JDBC-a mogućnost greške je velika jer Java prevodilac ne može validirati upite koji se kreiraju spajanjem niza znakova
• potrebno je ručno transformirati podatke u objektni model koji se dalje koristi u programskoj logici
Perzistencija podataka u Javi
8
Objektno-relacijsko preslikavanje
ORM – tehnika za preslikavanje podataka između podataka u relacijskoj bazi podataka i objekata u objektno orijentiranim programskim jezicima
Perzistencija podataka u Javi
9
Objektno-relacijsko preslikavanje
Prednosti ORM-a:• smanjena količina koda kojeg je potrebno napisati čime se smanjuje mogućnost greške
• neovisnost aplikacije o izboru baze• nije nužno detaljno poznavanje načina rada baze podataka
Nedostaci ORM-a:• neki ORM alati imaju slabije performanse prilikom rada s velikim količinama podataka u odnosu na ručno pisane SQL upite ili pohranjene procedure
Perzistencija podataka u Javi
11Alati za objektno-relacijsko preslikavanje
framework za perzistenciju podataka koji automatizira preslikavanje iz SQL baze podataka u Plain Old Java Objects (POJO)
pravila za mapiranje se nalaze u zasebnim xml konfiguracijskim datotekama ili se zadaju korištenjem anotacija
Perzistencija podataka u Javi
14Alati za objektno-relacijsko preslikavanje
ORM framework za mapiranje objektnog modela u relacijsku bazu podataka
rješava problem konceptualnih i tehničkih problema koji se javljaju između objektnog i relacijskog modela podatka (npr. ManyToMany veze)
Perzistencija podataka u Javi
15Alati za objektno-relacijsko preslikavanje
Primjena:• dobro rješenje za aplikacije gdje se poslovna logika nalazi u srednjem sloju aplikacije
• nije dobro rješenje kada se poslovna logika nalazi u paketima, procedurama i triggerima spremljenim u bazi podataka
Perzistencija podataka u Javi
16Alati za objektno-relacijsko preslikavanje
HQL (eng. Hibernate query language)• sintaksa jezika slična SQL-u• potpuno objektno orijentiran, podržava relaciju nasljeđivanje i agregacije
Perzistencija podataka u Javi
19
JPA
JPA – Java Persistence API
standardiziran kroz Java Community Process i dio je EJB 3.0 specifikacijenije ograničen samo na Java EE, većradi i sa Java SE
Perzistencija podataka u Javi
20
JPA
nastao na temelju najboljih ideja iz ORM frameworka (Hibernate, Oracle TopLink i dr.)
definira JPQL (eng. Java Persistence Query Language) jezik za kreiranje upita nad objektima
Perzistencija podataka u Javi
24
Kontakt
IVAN SENJIivan.senji@in2.hr
MARIO POPOVIĆmario.popovic@in2.hr
Recommended