UPORABA ORODIJ ZA OBJEKTNO-RELACIJSKO · PDF fileJava jo objektno naravnan programski jezik,...

download UPORABA ORODIJ ZA OBJEKTNO-RELACIJSKO · PDF fileJava jo objektno naravnan programski jezik, kar pomeni, da so objekti osnovni gradniki vsake javanske aplikacije. Objekt je ena instanca

If you can't read please download the document

Transcript of UPORABA ORODIJ ZA OBJEKTNO-RELACIJSKO · PDF fileJava jo objektno naravnan programski jezik,...

  • I

    UNIVERZA V LJUBLJANI

    FAKULTETA ZA RAUNALNITVO IN INFORMATIKO

    Rok Logonder

    UPORABA ORODIJ ZA OBJEKTNO-RELACIJSKO

    PRESLIKOVANJE PRI RAZVOJU JAVANSKIH

    APLIKACIJ

    DIPLOMSKO DELO

    VISOKOOLSKI STROKOVNI TUDIJSKI PROGRAM PRVE STOPNJE

    RAUNALNITVO IN INFORMATIKA

    Mentor: vi. pred. dr. Damjan Vavpoti

    Ljubljana, 2011

  • I

    Zahvala

    Zahvalil bi se rad svoji druini za omogoanje tudija ter podporo pri le-tem, svojim soolcem, ki so

    mi olajali sam tudij na fakulteti ter vsem, ki so v asu tudija tako ali drugae vplivali name kot na

    tudenta in kot na loveka, predvsem dekletu Jerneji.

    Posebna zahvala gre mentorju, vi. pred. dr. Damjanu Vavpotiu, ki me je s hitrimi odzivi na moja

    vpraanja, nasveti in predlogi vodil k dokonanju diplomske naloge.

    Zahvaljujem, se tudi podjetju ZZI d.o.o. za vse, kar so mi v preteklih tirih letih omogoili.

  • II

    Kazalo vsebine

    Povzetek ........................................................................................................................................................... 1

    Abstract ............................................................................................................................................................ 2

    1 Uvod ......................................................................................................................................................... 3

    1.1 Cilj diplomske naloge ........................................................................................................................ 4

    2 Opis teorije ............................................................................................................................................... 5

    2.1 Osnovni pojmi ................................................................................................................................... 5

    2.1.1 Relacijske podatkovne baze ...................................................................................................... 5

    2.1.2 Java ........................................................................................................................................... 5

    2.1.2.1 Objekt ................................................................................................................................... 5

    2.1.3 Trajnost ..................................................................................................................................... 6

    2.1.4 Refleksija................................................................................................................................... 6

    2.1.5 Razirjanje ................................................................................................................................. 6

    2.2 Objektnorelacijsko preslikovanje .................................................................................................... 7

    2.2.1 Zakaj se uporablja objektnorelacijsko preslikovanje ............................................................... 7

    2.2.2 Standardi .................................................................................................................................. 8

    2.2.2.1 JDO........................................................................................................................................ 8

    2.2.2.2 JPA ........................................................................................................................................ 9

    2.2.3 Primer delovanja objektno-relacijsko preslikovalnih orodij, ki se drijo standardov JDO ali pa

    JPA 9

    3 Objektnorelacijski preslikovalniki ......................................................................................................... 10

    3.1 Seznam in primerjava preslikovalnikov........................................................................................... 10

    3.2 Rezultat primerjave ........................................................................................................................ 11

    3.2.1 Kriterij tevilo vrstic kode in datotek ter as pri vzpostavitvi povezave s podatkovno bazo

    11

    3.2.2 Kriterij Enostavnost uporabe .............................................................................................. 12

    3.2.3 Kriterij Hitrost delovanja enostavnih poizvedb ter poizvedbe primerljive s poizvedbami, kot

    smo jih izvajali v podjetju ..................................................................................................................... 12

    4 Objektnorelacijsko preslikovalna orodja .............................................................................................. 14

    4.1 MyBatis ........................................................................................................................................... 14

    4.1.1 Delovanje ................................................................................................................................ 14

    4.1.1.1 XML nastavitvena datoteka ................................................................................................ 15

  • III

    4.1.1.2 Preslikovalna XML datoteka ................................................................................................ 17

    4.1.1.3 Dinamini SQL ..................................................................................................................... 21

    4.1.2 Prednosti in slabosti ............................................................................................................... 22

    4.2 Hibernate ........................................................................................................................................ 23

    4.2.1 Delovanje ................................................................................................................................ 23

    4.2.1.1 Hibernate konfiguracijska datoteka .................................................................................... 23

    4.2.1.2 Modelni razred ................................................................................................................... 24

    4.2.1.3 Monosti ............................................................................................................................. 24

    4.2.1.4 Crud operacije..................................................................................................................... 26

    4.2.2 HQL ......................................................................................................................................... 27

    4.2.2.1 Shranjevanje v predpomnilniku: ......................................................................................... 29

    4.2.3 Prednosti in slabosti ............................................................................................................... 30

    4.3 DataNucleus ................................................................................................................................... 31

    4.3.1 Delovanje ................................................................................................................................ 31

    4.3.2 Podprti podatkovni zbiri ......................................................................................................... 31

    4.3.3 Tipi JDO objektov .................................................................................................................... 32

    4.3.3.1 Podprti javanski tipi spremenljivk ....................................................................................... 32

    4.3.3.2 Metadata nastavitve ........................................................................................................... 33

    4.3.4 JDOHelper ............................................................................................................................... 33

    4.3.5 Persistance manager Factory .................................................................................................. 34

    4.3.6 Trajnostni urejevalnik ............................................................................................................. 34

    4.3.7 Transakcija .............................................................................................................................. 34

    4.3.8 Vraanje objektov ................................................................................................................... 34

    4.3.9 JDOQL ..................................................................................................................................... 35

    4.3.10 Prednosti in slabosti ............................................................................................................... 36

    5 Zakljuek ................................................................................................................................................. 37

    6 Viri .......................................................................................................................................................... 39

  • IV

    Kazalo slik

    Slika 1: Objektno-relacijsko preslikovanje.. ...................................................................................................... 7

    Slika 2: Slikovna ponazoritev delovanja orodja MyBatis. ................................................................................ 14

    Slika 3: primer XML nastavitvene datoteke. ................................................................................................... 15